2012-08-07 2 views
5

Je trouve que celerybeat utilise l'heure UTC dans sa programmation (et envoie des journaux au Royaume-Uni?!) Même si je crois avoir les paramètres requis dans mes paramètres django.py:celerybeat utilise UTC même avec les paramètres de fuseau horaire

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"),  
} 

J'ai essayé la commutation variable TIME_ZONE sans chance

J'utilise:

django==1.4 
celery==2.5.5 
django-celery==2.5.5 

Merci

Répondre

1

Je pense que vous voulez

CELERY_ENABLE_UTC = False 

L'état celery configuration docs assez clairement que si cette valeur est vrai, les dates et heures sont converties en UTC. Notez également que cette valeur est activée par défaut depuis la version 3.0.

+0

Salut. Le doc dit: "Si les dates et heures activées _in messages_" - Je ne suis pas sûr exactement quelle est la portée de cela, mais cela ne signifie pas nécessairement que les entrées de crontab pour celerybeat sont en UTC. Aussi bien [ici] (http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries) les docs disent: "Par défaut le fuseau horaire local actuel est utilisé, mais vous pouvez aussi définissez un fuseau horaire spécifique en activant le paramètre CELERY_ENABLE_UTC et en configurant le paramètre CELERY_TIMEZONE "avec un exemple, ce qui implique que vous devez activer UTC pour _any_ timezone spécifié. – Taras

+0

La documentation peut être manquante ou trompeuse, mais je sais que cela a fonctionné pour moi. J'ai récemment passé de 2.4.x à 3.0.x et toutes mes entrées crontab sont passées de l'heure locale à l'UTC. Une fois que j'ai défini CELERY_ENABLE_UTC = False, toutes mes entrées crontab sont revenues à l'heure locale. –

+0

Mon installation de django actuelle a le fuseau horaire défini sur UTC, donc mon problème est que je ne peux pas m'éloigner de l'UTC (j'essaie d'obtenir les entrées de crontab à l'horaire de l'Australie/Sydney). Je vais regarder de plus près .. – Taras

Questions connexes