经过两天的探索与踩坑,有一些使用心得分享给大家
申明:我使用的Python是3.9 django是3.2.3 celery是4.4
现在在网上能找到的大部分关于django和celery都是比较早的用法,类似于让你安装django-celery类的包,安装完成后使用 python manage.py celery beat/worker...类似的用法 ,那么这类用法差不多是很早很早之前的用法,而且对于Python也是要3.6以下,django也是1.几的版本,用起来比较麻烦,如果你使用的python或者 django稍稍高一点会有各种错误,其中包括依赖,async命名的包使用,数据库grp使用,某些方法未定义问题等等。
经过查询官网,发现在celery升级到4 以后,就直接能够完美的和dango进行配合使用,不需要安装django-celery包,直接会在celery里面集成一起django需要用到的一系列依赖包,但是如果你需要使用django admin 进行可视化界面的配置,则建议安装额外的两个包 (django_celery_beat,和django_celery_results)
在包安装完成后,运行也有一定的小区别,启动celery 需要启动三个基本服务(三个控制台分别运行):
1、 python manage.py runserver 0.0.0.0:8000 运行django服务
2、celery -A celery_test beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler 运行beat监控
3 、celery -A celery_test worker -l info