2015-12-09 124 views
0

我想把任务放到芹菜上,但是我希望任务在30秒后执行,而不是立即执行。推迟执行芹菜任务

例如:

@celery.task 
def task(): 
    # waiting 30 seconds 
    do something.... 

我可以用它来使它:sleep(30),但有没有更好的解决办法?

回答

2

最好的办法是将任务的任务放在30秒内安排实际任务。类似的东西:

@celery.task 
def task(): 
    RealTask.apply_async(countdown=30) 
+0

我检查[芹菜文件(http://docs.celeryproject.org/en/master/_modules/celery/app/task.html#Task.apply_async)的'countdown'选项也可以工作。这样对吗? – pangpang

+0

你说得对,更简单 –