首页 > 解决方案 > 为什么 celery 可以使用“--concurrency 1 -P solo”而不是没有?

问题描述

当我使用:

celery -A FAM worker -l info --concurrency 1 -P solo

我可以从 celery 运行我的任务。

当我使用:

celery -A FAM worker -l info

它不起作用。但我不明白为什么。我看到有一个区别:“16(prefork)”与“1(solo)”。有什么区别 ?为什么独奏有效而其他无效?

标签: djangoredisdjango-viewscelery

解决方案


问题是Celery 从版本 4 开始不支持 Windows,因此在 Windows 上运行它可能会出现问题。就像并发一样。

根据这篇文章,我可以通过使用 Eventlet 来解决这个问题。

pip install eventlet

并且在启动 celery worker 时:

celery -A FAM worker -l info --concurrency 4 -P eventlet

推荐阅读