现在有 10 台机器,其中 7 台执行 A 任务 ,3 台执行 B 任务。要求是 A 任务运行完毕丢给 B 任务按照顺序执行。
比如 A1 A3 A7 做完了,然后 B1 B2 B3 执行, 其他 A 做完下次来任务了,还是 B1 B2 B3 顺序来做。
请教下,谢谢
比如 A1 A3 A7 做完了,然后 B1 B2 B3 执行, 其他 A 做完下次来任务了,还是 B1 B2 B3 顺序来做。
请教下,谢谢
|
keepfunAug 2, 2023 via iPhone
1
有个曲线救国的方案 每个任务执行前检测它的前置完成没,没有完成就等。
执行完成的写入 redis 。 |
|
AkkumanAug 2, 2023 via Android
2
1. 可以使用 celery 的任务链
2. 正常在 worker 函数里面调用 delay ,会报错,然后按照提示修改下配置即可 |
|
UN2758Aug 2, 2023
3
没太看懂,B1 严格依赖 A1 类型的任务还是简单的 B 类型依赖 A 类型? celery 文档里有 task chain 模式介绍,应该足够满足你的需求了
|
|
UN2758Aug 2, 2023
4
你这里 B 类型需要严格要求按 1-2-3 优先级顺序分配负载还是三个都要执行一遍?优先级可以考虑配置 worker 权重
|