【发布时间】:2020-02-26 00:18:57
【问题描述】:
我有两个任务 - a 和 b。
任务 a 在完成上一个任务 a 后 5 分钟内运行。
任务 b 在完成上一个任务 b 后 3 分钟内运行。
我该如何实现它?我正在使用python 3.6.8、Django 2.2.6 和celery 4.3.0?
【问题讨论】:
标签: python django python-3.x task celery
我有两个任务 - a 和 b。
任务 a 在完成上一个任务 a 后 5 分钟内运行。
任务 b 在完成上一个任务 b 后 3 分钟内运行。
我该如何实现它?我正在使用python 3.6.8、Django 2.2.6 和celery 4.3.0?
【问题讨论】:
标签: python django python-3.x task celery
简短的回答是您不能使用 celery beat 执行此操作,因为 celery beat 会在任务开始时触发,而不是在任务结束时触发。如果您绝对需要在上一个任务结束后三分钟执行此操作,建议您只需在 a 和 b 的末尾添加对 .apply_async 的调用,并开始每个任务一次。
【讨论】: