为什么芹菜链中的任务无法按顺序执行?

时间:2018-07-23 03:30:01

标签: python

我有四个耗时的任务,应该一个接一个地执行,上一个任务的结果可以作为下一个任务的输入。所以我选择芹菜连锁店来做到这一点。我以以下代码为例:

mychain = chain(task1.s({'a': 1}), task2.s(), task3.s(), task4.s())
mychain.apply_async()

但是任务的执行顺序是:

enter code here`task1() ---> task4() ---> task3() --->task2()

我不知道会发生什么。

我通过龙卷风运行一个Web服务器,它按链唤醒了任务。

记录:

[2018-07-23 18:34:12,816][pid:25557][tid:140228657469056][util.py:109] DEBUG: chain: fetch({}) | callback() | convert() | format()

其他任务在芹菜中运行

记录:

[2018-07-23 18:34:12,816: INFO/MainProcess] Received task: fetch[045acf81-274b-457c-8bb5-6d0248264b76]
[2018-07-23 18:34:17,786: INFO/MainProcess] Received task: format[103b4ffa-57db-4b04-a745-7dfee5786695]
[2018-07-23 18:34:18,227: INFO/MainProcess] Received task: convert[81ddbaf9-37b3-406a-b608-a05affa97f45]
[2018-07-23 18:34:20,942: INFO/MainProcess] Received task: callback[b1ea7c70-db45-4501-9859-7ad22532c38a]

1 个答案:

答案 0 :(得分:0)

原因是两台机器的芹菜版本不同! 然后我们设置相同的芹菜版本,它们就起作用了!