Di Sedano impostazione predefinita inviare tutti i compiti da 'il sedano' coda, ma è possibile modificare questo comportamento con l'aggiunta di parametro in più:Come inviare task periodici alla coda specifica nel sedano
@task(queue='celery_periodic')
def recalc_last_hour():
log.debug('sending new task')
recalc_hour.delay(datetime(2013, 1, 1, 2)) # for example
impostazioni Scheduler:
CELERYBEAT_SCHEDULE = {
'installer_recalc_hour': {
'task': 'stats.installer.tasks.recalc_last_hour',
'schedule': 15 # every 15 sec for test
},
}
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
Run lavoratore:
python manage.py celery worker -c 1 -Q celery_periodic -B -E
Questo schema non funziona come previsto: questo i lavoratori invia task periodici t o 'coda di sedano', non 'celery_periodic'. Come posso ripararlo?
P.S. sedano == 3.0.16
questo può essere utile? http://docs.celeryproject.org/en/latest/userguide/routing.html – oleg
Ho spento opzione CELERYBEAT_SCHEDULER (usato stoprage basato su file) e funziona correttamente. –