带有芹菜的eventlet是否并行执行任务?

时间:2017-03-18 06:57:45

标签: python parallel-processing celery eventlet

此帖子与我之前发布的帖子celery how to implement single queue with multiple workers executing in parallel?

相同

我使用此命令实现了celery以使用eventlet: -

celery -A project worker -P eventlet -l info --concurrency=4

我可以看到我的任务更快地被移动到活动列表(在花中)但我不确定它们是否并行执行?我有一个4核服务器用于生产,但我没有同时使用所有核心。

我的问题是: -

  

如何使用所有4个内核并行执行任务?

1 个答案:

答案 0 :(得分:1)

两种eventlet / gevent工作类型都提供了很好的并发解决方案,代价是将并行性停滞为1.要实现真正的并行任务执行并利用内核,请在同一台机器上运行多个Celery实例。

我知道这与流行的Linux发行版有什么相反,所以只需忽略系统包并从头开始滚动你的优秀配置。系统服务模板是你的朋友。

另一种选择是使用prefork池运行Celery,你会以并发性为代价来保持并行性,而不是工作人员数量。

相关问题