По умолчанию сельдерей отправляет все задачи в очередь "сельдерей", но вы можете изменить это поведение, добавив дополнительный параметр:
@task(queue='celery_periodic')
def recalc_last_hour():
log.debug('sending new task')
recalc_hour.delay(datetime(2013, 1, 1, 2)) # for example
Настройки планировщика:
CELERYBEAT_SCHEDULE = {
'installer_recalc_hour': {
'task': 'stats.installer.tasks.recalc_last_hour',
'schedule': 15 # every 15 sec for test
},
}
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
Запустить сотрудника:
python manage.py celery worker -c 1 -Q celery_periodic -B -E
Эта схема работает не так, как ожидалось: эти рабочие отправляют периодические задачи в очередь "сельдерей", а не "celery_periodic". Как я могу это исправить?
P.S. сельдерея == 3.0.16