2014-09-29 80 views
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__()而不是?

回答