1
我用芹菜在Heroku上用的RabbitMQ並進行如下設置上:關閉芹菜任務延遲開發服務器
# settings.py
DEFAULT_AMQP = "amqp://guest:[email protected]//"
BROKER_URL = os.getenv('CLOUDAMQP_URL', DEFAULT_AMQP)
CELERY_TASK_SERIALIZER = 'pickle'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ENABLE_UTC = True
CELERY_STORE_ERRORS_EVEN_IF_IGNORED = True
CELERY_RESULT_BACKEND = False
BROKER_POOL_LIMIT = 5
# trying to clean up this memory leak
CELERYD_MAX_TASKS_PER_CHILD = 5
CELERYD_TASK_TIME_LIMIT = 60*10 # time limit in seconds--watch if we end up throwing big tasks onto this
我通常稱之爲使用.delay()
任務。
在Heroku上,我必須配置一個單獨的工人動態句柄來處理這些排隊的進程。對於開發服務器,我想仍然調用我的延遲任務,但是在同一個線程中執行它,而不是將其推遲到工作隊列。這意味着我每次打電話給.delay()
時,在暫存服務器上,我都不想延遲任務,但實際上只是調用它,就好像我使用了正常的.__call__()
方法。
是否有芹菜設置或其他方式,我可以基本上關閉芹菜,並呼籲.delay()
傳遞給.__call__()
而不是?
謝謝,這正是我一直在尋找。 – jdotjdot 2014-09-30 04:47:25