我發現celerybeat在其調度中使用UTC時間(並在英國時間輸出日誌?!),即使我相信我在我的django settings.py中具有所需的設置:celerybeat使用UTC甚至與時區設置
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"),
}
我都試過,沒有運氣
我使用切換TIME_ZONE變量:
django==1.4
celery==2.5.5
django-celery==2.5.5
感謝
嗨。該文檔說:「如果啓用日期和時間_in messages_」 - 我不確定究竟是什麼範圍,但它並不一定意味着celerybeat的crontab條目是UTC。以及[這裏](http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries)文檔說:「默認情況下使用當前的本地時區,但您也可以通過啓用CELERY_ENABLE_UTC設置並配置CELERY_TIMEZONE設置來設置特定的時區「,這意味着您需要爲_any_指定的時區啓用UTC。 – Taras 2012-08-11 05:11:39
該文檔可能缺乏或誤導,但我知道這對我有用。我最近從2.4.x升級到3.0.x,並且我的所有crontab條目從本地時間切換到UTC。一旦我設置CELERY_ENABLE_UTC = False,我的所有crontab條目都回到當地時間。 – 2012-08-13 17:12:07
我目前的django安裝程序的時區設置爲UTC,所以我的問題是我無法擺脫UTC(我試圖獲取crontab項目來安排澳大利亞/悉尼時間)。我會仔細看看.. – Taras 2012-08-14 13:24:28