8

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

ありがとう

4

2 に答える 2

5

セロリのバグでしたが、現在は修正されています。https://github.com/celery/django-celery/issues/150を参照してください

于 2012-08-18T02:20:47.293 に答える
4

私はあなたが欲しいと思います

CELERY_ENABLE_UTC = False

セロリの構成ドキュメントには、この値がtrueの場合、日付と時刻がUTCに変換されることが非常に明確に記載されています。また、バージョン3.0以降、この値はデフォルトで有効になっていることに注意してください。

于 2012-08-10T22:04:28.050 に答える