python创建芹菜任务工作

时间:2011-05-04 08:49:26

标签: python parallel-processing celery

让我说我有一个python程序,我希望使用celery / rabbigmq并行运行最多10次,如果某些进程完成我想知道它,所以我可以开始一个新的进程。我怎么能这样做?一些例子会很好

1 个答案:

答案 0 :(得分:1)

举例很难,因为消息传递有点复杂,但你可以做的基本上是:

  • 将程序重写为任务或编写使用子流程调用程序的任务
  • 配置芹菜有10名工人
  • 执行尽可能多的任务以完成工作,Celery会将它们添加到队列中
  • Celery将为您完成剩下的工作,一旦任务完成,另一个任务开始直到队列为空

或者,如果你想在一个完成后手动启动一个任务,你可以配置Celery在完成后发送一条消息(我还没有尝试,但是看看CELERY_RESULT_BACKEND)然后你可以使用这些消息并开始你的任务。