2012-08-07 8 views
5

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

risposta

1

penso che si desidera

CELERY_ENABLE_UTC = False 

Il celery configuration docs stato piuttosto chiaramente che se questo valore è vero, date e gli orari vengono convertiti in UTC. Si noti inoltre che questo valore è abilitato per impostazione predefinita dalla versione 3.0.

+0

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

+0

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. –

+0

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

Problemi correlati