【发布时间】:2026-01-20 02:45:02
【问题描述】:
我将 Celery 5.1.0 与 Django 3.2.3 一起使用,并设置了 Celery 链。我希望循环运行这个链,但我需要确保只有在链中的前一组命令完成后才重新开始循环。
这是链条:
def base_data_chain(user_email, store):
chain = (
product_count.s(store=store) |
get_data.s(store=store) |
normalise.s() |
merge.s() |
send_task_email.s(user_email=user_email, store=store))
chain()
我需要的是这样的:
for store in stores:
base_data_chain(user_email=user_email, store=store)
但我需要每个store 的循环在前一个store 被处理之前不要开始。
任何有关实现此目标的最佳方式的帮助将不胜感激。谢谢。
【问题讨论】: