windows10 的环境,python3.8环境,使用celery 5.x 的版本,发现任务接收了,但是一直没执行,无返回结果。 早期的celery 3.x版本是可以支持windows 平台的,但是跟python3.8 不兼容了。
以下是celery 官方文档上对版本的要求 Celery 5.2 版运行于
Celery 4.x 是支持 Python 2.7 的最后一个版本, Celery 5.x 需要 Python 3.6 或更高版本。 Celery 5.1.x 还需要 Python 3.6 或更高版本。 Celery 5.2.x 需要 Python 3.7 或更新版本。
如果您运行的是旧版本的 Python,则需要运行旧版本的 Celery:
Python 2.7 或 Python 3.5:Celery 系列 4.4 或更早版本。 Python 2.6:Celery 系列 3.1 或更早版本。 Python 2.5:Celery 系列 3.0 或更早版本。 Python 2.4 是 Celery 系列 2.2 或更早版本。
Celery 是一个资金很少的项目,所以不支持 Microsoft Windows。请不要打开与该平台相关的任何问题。
启动celery worker服务
>celery -A your_application.celery worker -l info
当执行任务的时候,从运行日志可以看到任务已经received 了
Task demo/add[7167654b-e5eb-4d35-b82d-ac36c0b8926e] received
windows 启动 celery 需要指明使用 eventlet 进程池, 需先安装eventlet
pip install eventlet
启动celery worker服务的时候,使用-P eventlet
参数
celery -A your_application.celery worker -P eventlet -c 2 -l info
flask + celery 完整示例参考这篇https://www.cnblogs.com/yoyoketang/p/16668657.html
备注: 在windows上使用celery,用ctrl+C无法停掉访问,会卡死,只能强制关闭。其它linux、mac可以正常使用。
2022年第 12期《python接口web自动化+测试开发》课程,9月17号开学!
本期上课时间:2022年9月17号 - 2022年12月17号,周六周日上午9:00-11:00