我的工作流程是这样的:我有一组子任务,每个任务都应该以特定的时间间隔执行,但它们都不应该同时发生。
我试过这个:
celery.group(getting_a_page.s(user,x,page).countdown(x) for x in range(5))
但这没有用。
知道怎么做吗?文档上没有太多关于这个的内容。根据文档,我可以延迟任务但不能延迟子任务。
最佳答案
Task.subtask()
具有以下参数:
- 任务 – 任务类/实例或任务名称。
- args – 要应用的位置参数。
- kwargs – 要应用的关键字参数。
- 选项 –
Task.apply_async()
的附加选项。
Task.apply_async() 有选项:countdown 和 eta 可用于设置延迟
因此你可以这样做:
celery.group(getting_a_page.s(args=(user, x, page), countdown=X))
# where X is any number
阅读更多 Here
关于python - 如何在 celery 组中为子任务添加延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212944/