在 Django 中使用 celerybeat 本地设置的正确方法是什么?
What is proper way to use local settings for celerybeat in Django?
我使用的是 django 1.8.7,django-celery 3.1.17。
我想覆盖 local_settings 中的 celery 周期性任务,我将其包含在基本设置文件的末尾。
本地设置文件中的这段代码不起作用:
BROKER_URL = 'amqp://test:test@localhost/'
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
CELERYBEAT_SCHEDULE = {
"test_task": {
"task": "test.ptask",
"schedule": crontab(minute="*/5"),
"options": {'queue': 'slow_tasks'}
}
}
当你直接调用 celery 时它不会服从 django settings.py
。而是使用
调用
manage.py celery -A test worker -l warn -Q slow_tasks --concurrency=10
请注意,您应该将 django-celery 添加到您的 INSTALLED_APP。
问题也出现在 CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"。
定期任务存储在数据库中,因此您只需从管理面板中删除它们即可。
我使用的是 django 1.8.7,django-celery 3.1.17。 我想覆盖 local_settings 中的 celery 周期性任务,我将其包含在基本设置文件的末尾。
本地设置文件中的这段代码不起作用:
BROKER_URL = 'amqp://test:test@localhost/'
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
CELERYBEAT_SCHEDULE = {
"test_task": {
"task": "test.ptask",
"schedule": crontab(minute="*/5"),
"options": {'queue': 'slow_tasks'}
}
}
当你直接调用 celery 时它不会服从 django settings.py
。而是使用
manage.py celery -A test worker -l warn -Q slow_tasks --concurrency=10
请注意,您应该将 django-celery 添加到您的 INSTALLED_APP。
问题也出现在 CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"。 定期任务存储在数据库中,因此您只需从管理面板中删除它们即可。