celery(4) celery +django的定时任务
在django中使用计划任务功能
1)安装第三方模块
pip3 install django-celery-beat -i https://pypi.tuna.tsinghua.edu.cn/simple
2)在项目的setting中增加配置
INSTALLED_APPS = ( ..., 'django_celery_beat', )
3)定时任务放入数据库中
之前的定时任务,都是存在一个文件里面 就是
celerybeat-schedule
现在不同了跟django结合了,定时任务就得存在数据库中,那创建数据表
[root@linux-node1 RestApi]# python3 manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, django_celery_beat, rest, sessions Running migrations: Applying django_celery_beat.0001_initial... OK
4)admin后台显示

然后一个一个来加.. 。。。。不用做步骤。都会,下一步下一步就行...
Keyword arguments有关键字的写这
Arguments 必须是json格式
然后当你都添加配置完毕后,django只是负责存储任务,但它并不会主动给worker任务. 那你还要启动一个beat,与之前的启动beat不同 。。这次启动的beat是要从django配置的数据库中读取
5)启动beat
celery -A RestApi beat -l debug -S django
6)观察状态
完美。。。。
总共需要启动3个程序
1.django程序 python3 manage.py runserver 0.0.0.0:8081
2.worker进程 celery -A RestApi worker -l debug
3.beat程序 celery -A RestApi beat -l debug -S django
切记:
1。需要配置django amdin中配置定时的周期, 也就是那3个表中数据的添加
2。需要启动你的beat 每添加一个beat,都需要重启beat

浙公网安备 33010602011771号