带有芹菜的事件是否并行执行任务



这篇文章延续了我之前的帖子 - 芹菜 如何在多个工作线程并行执行的情况下实现单个队列?

我使用以下命令实现了芹菜以使用事件:-

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

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

我的问题是:-

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

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

我知道这与流行的 Linux 发行版的想法背道而驰,所以只需忽略系统包并从头开始推出您的出色配置即可。系统服务模板是您的朋友。

另一种选择是使用预分叉池运行 Celery,以延迟并发到工作线程数为代价获得并行性。

相关内容

  • 没有找到相关文章

最新更新