芹菜子任务在组内排序

2024-03-28 13:34:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用芹菜做一些长时间的工作。 实际上,我的分块算法不能保证每一个都有相同的工作 子任务。所以我注意到这种意外的行为 组内不平衡的任务。你知道吗

示例任务:

@app.task(name='step')
def step(s):
   print 'step received:', s
   time.sleep(s)
   return s

在这种情况下:

%time group(step.s(10), step.s(1), step.s(1), step.s(3))
CPU times: user 32.2 ms, sys: 33.6 ms, total: 65.8 ms
Wall time: <b>13.6 s</b>
Out[5]: [10, 1, 1, 3]

我认为1,1,3,10的组合不能超过10秒(加上一小部分任务时间)。你知道吗

我注意到这个电话:

  • 步骤(10)->;工人1
  • 步骤(1)—>;工人2
  • 步骤(1)—>;工人3

之后,worker 2和worker 3很短时间(只有1秒)都很忙,所以他们可以处理最后一个任务,但是“步骤(3)”只有在“步骤(10)”完成之后才会处理。你知道吗

听起来很奇怪。 有什么建议吗?你知道吗

谢谢 玻璃


Tags: namegt算法app示例tasktimestep