Python3+Django3+Celery4.4.2安装环境,启动定时服务

之前一直使用python2,最近换到python3,就研究了下celery定时,期间遇到了几个坑,主要都是包版本不匹配导致的,以下做个笔记,希望可以做个参考。具体的代码如何写,其他人的博客都有,我此处想纪录下如何安装环境并启动服务。
PS:代码好写,部署才是坑,下一篇会把django3的celery配置及代码都发出来,本人十几个项目亲测,妥妥的

一、celery配置

1.1 安装celery 4.4.2

pip install celery
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第1张图片

1.2 安装django celery beat

Django 3+celery 4.x以后,原有的djcelery不在支持,通过django celery beat来提供django 与celery的集成,集成的效果是通过django admin界面,可以管理定时任务。
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第2张图片

1.3 同步django-celery-beat的表

Python manage migrate
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第3张图片

1.4 Admin界面管理celery定时任务

Python3+Django3+Celery4.4.2安装环境,启动定时服务_第4张图片Python3+Django3+Celery4.4.2安装环境,启动定时服务_第5张图片

1.5 安装flower(这是个监控定时任务的工具,用了方便一些,不用也无所谓)

Python3+Django3+Celery4.4.2安装环境,启动定时服务_第6张图片
启动 flower
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第7张图片
flower web管理页面
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第8张图片

1.6 启动beat

进入到项目目录,控制台执行
celery -A human_drink_yq beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第9张图片

1.7 启动worker

进入到项目目录,控制台执行
celery worker -A human_drink_yq -P gevent
特别注意:celery 4.x 官网不支持windows,celery的task pool默认创建方式windows会执行失败,解决办法就是通过-P参数指定task pool的创建方式。
Python3+Django3+Celery4.4.2安装环境,启动定时服务_第10张图片

二、 参考资料

2.1 Windows task pool报错解决
报错信息:Celery ValueError: not enough values to unpack (expected 3, got 0)
https://www.distributedpython.com/2018/08/21/celery-4-windows/
https://stackoverflow.com/questions/37255548/how-to-run-celery-on-windows
2.2 celery配置样例
https://medium.com/@ksarthak4ever/django-handling-periodic-tasks-with-celery-daaa2a146f14
https://github.com/Coxhuang/django-celery4
https://blog.csdn.net/Coxhuang/article/details/89058429

你可能感兴趣的:(python,Django,celery,python,django,后端)