celery的高级使用 前面两篇博客主要讲的是celery的基本使用方式以及常用的目录结构。这一篇主要讲celery定时任务的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 其实celery定时任务非常的简单,我们只需要在celery实例化的那个文件夹中进行一些配置即可 然后使用下述命令启动自动提交任务的服务: celery beat -A celery_task -l info celery worker -A celery_task -l info -P eventlet 实例: from celery import Celerybroker = 'redis://127.0.0.1:6379/1' backend = 'redis://127.0.0.1:6379/2' app = Celery(broker=broker, backend=backend, include=['celery_task.tasks' ]) app.conf.timezone = 'Asia/Shanghai' app.conf.enable_utc = False from datetime import timedeltafrom celery.schedules import crontabapp.conf.beat_schedule = { 'low-task' : { 'task' : 'celery_task.tasks.low' , 'schedule' : timedelta(seconds=3 ), 'args' : (300 , 150 ), } }
按上述方式进行配置后,我们便不需要使用delay去提交任务,而是一到执行时间celery便会自动执行