django-celery-beat 动态定时任务处理。
环境配置:celery==4.0.2,
django-celery-beat==1.0.1
django==1.11.26
python==2.7.5
1. 安装 django-celery-beat
pip install django-celery-beat
2.配置 server/settings.py
INSTALLED_APPS = [
# ...
'django_celery_beat',
'bricks'
]
# celery 定时任务
# 注意,celery4 版本后,CELERY_BROKER_URL 改为 BROKER_URL
BROKER_URL = 'redis://127.0.0.1:6379/0' # Broker 使用 Redis, 使用0数据库(暂时不是很清楚原理)
CELERYBEAT_SCHEDULER = 'django-celery-beat.schedulers.DatabaseScheduler' # 定时任务调度器
# CELERYBEAT_SCHEDULER = 'bricks.views:MydatabaseScheduler' #
CELERYD_MAX_TASKS_PER_CHILD = 3 # 每个 worker 最多执行3个任务就会被销毁,可防止内存泄露
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379/0' # cel