延迟执行芹菜任务

deferred execution celery task

我想给 celery 下任务,但我希望任务在 30 秒后执行,而不是立即执行。

例如:

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

我可以用它来制作:sleep(30),但有没有更好的解决方案?

最好的方法是让该任务的任务在 30 秒内安排真正的任务。类似的东西:

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