在setting中配置队列和定时任务
- from kombu import Queue
- from datetime import timedelta
- CELERY_DEFAULT_QUEUE = 'worker_queue'
- CELERY_QUEUES  = (- Queue("beat_queue", routing_key="beat_queue"),- Queue("worker_queue", routing_key="worker_queue"),- )
 
- CELERYBEAT_SCHEDULE = {
- 'task2':{
- 'task':'course.tasks.task2',
- 'schedule':timedelta(seconds=5),
- 'args':(99,3),
- 'options':{
- 'queue':'beat_tasks'
- }
- }
- }
启动beat:
python manage.py celery beat -l INFO
python manage.py celery worker -l INFO -Q beat_tasks
一条命令启动worker和beat
- python manage.py celery worker -l INFO -B
注:
- 在定时任务指定task的时候有两种方法- 
- 指定任务的路径
- 在任务的task上添加个name参数,然后在定时任务的task中指定改name即可
 
- 注意,如果指定了name,则必须使用name,而不能使用任务的路径