Sto scoprendo che il celerybeat utilizza l'ora UTC nella sua pianificazione (ed emette i log nel Regno Unito ?!) anche se credo di avere le impostazioni richieste nel mio django settings.py:celerybeat usa UTC anche con le impostazioni del fuso orario
TIME_ZONE = 'UTC'
USE_TZ = True
CELERY_ENABLE_UTC = True
CELERY_TIMEZONE = 'Australia/Sydney'
CELERYBEAT_SCHEDULE =
"testRunBeat" : {
"task" : "experiments.tasks.testHeartBeat",
"schedule" : crontab(minute = "*/1", hour="13-14"),
}
ho cercato di commutazione variabile TIME_ZONE senza fortuna
sto usando:
django==1.4
celery==2.5.5
django-celery==2.5.5
Grazie
Ciao. Il documento dice: "Se abilitato date e times _in messages_" - Non sono sicuro di quale sia lo scopo di questo, ma non significa necessariamente che le voci crontab per celerybeat siano in UTC. Inoltre [qui] (http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries) i documenti dicono: "Per impostazione predefinita viene utilizzato il fuso orario locale corrente, ma è anche possibile imposta un fuso orario specifico abilitando l'impostazione CELERY_ENABLE_UTC e configurando l'impostazione CELERY_TIMEZONE "con un esempio, il che implica che è necessario abilitare l'UTC per ogni timezone specificato. – Taras
La documentazione può essere carente o fuorviante, ma so che questo ha funzionato per me. Recentemente ho aggiornato da 2.4.x a 3.0.x e tutte le mie voci di crontab sono passate dall'ora locale all'ora UTC. Una volta impostato CELERY_ENABLE_UTC = False, tutte le mie voci di crontab sono tornate all'ora locale. –
La mia attuale configurazione di Django ha il fuso orario impostato su UTC, quindi il mio problema è che non posso allontanarmi da UTC (sto cercando di ottenere le voci di crontab in programma in Australia/ora di Sydney). Avrò uno sguardo più da vicino .. – Taras