我特别使用shared_task
装饰器来创建一个芹菜任务。我尝试了明显的@shared_task(expires=3)
,但它似乎不起作用。
是否有一种方法来告诉这个任务应该到期**秒后收到,因为你可以做apply_async
在呼叫时间?
我不确定shared_task,但至少在芹菜5.2.7中,您可以将expires
参数传递给@app.task
。
from myapp.celery import app as celery_app
@celery_app.task(expires=60)
def my_task(...
也许这对你有帮助
from tasks import add
result = add.apply_async(args=[10, 10], expires=6000)
还要确保你的生产者和消费者机器时钟是同步的。其他使用
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Etc/UTC'