Tôi thấy rằng celerybeat đang sử dụng thời gian UTC trong lịch trình của nó (và xuất nhật ký ở Vương quốc Anh ?!) mặc dù tôi tin rằng tôi có các cài đặt cần thiết trong django settings.py:celerybeat sử dụng UTC ngay cả với các thiết lập múi giờ
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"),
}
tôi đã cố gắng chuyển biến TIME_ZONE không có may mắn
tôi đang sử dụng:
django==1.4
celery==2.5.5
django-celery==2.5.5
Cảm ơn
Xin chào. Tài liệu cho biết: "Nếu ngày và giờ được bật _in messages_" - Tôi không chắc chính xác phạm vi của điều đó, nhưng điều đó không nhất thiết có nghĩa là các mục nhập crontab cho celerybeat nằm trong UTC. Cũng tại đây (http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-entries) các tài liệu nói: "Theo mặc định múi giờ địa phương hiện tại được sử dụng, nhưng bạn cũng có thể đặt múi giờ cụ thể bằng cách bật cài đặt CELERY_ENABLE_UTC và định cấu hình cài đặt CELERY_TIMEZONE "với ví dụ, ngụ ý rằng bạn cần bật UTC cho _any_ múi giờ được chỉ định. – Taras
Tài liệu có thể thiếu hoặc gây hiểu lầm, nhưng tôi biết rằng tài liệu này có hiệu quả đối với tôi. Gần đây tôi đã nâng cấp từ 2.4.x lên 3.0.x và tất cả các mục nhập crontab của tôi được chuyển từ giờ địa phương sang UTC. Khi tôi đặt CELERY_ENABLE_UTC = False tất cả các mục nhập crontab của tôi đã quay lại thời gian cục bộ. –
Thiết lập django hiện tại của tôi có múi giờ được đặt thành UTC, do đó, vấn đề của tôi là tôi không thể rời khỏi UTC (Tôi đang cố gắng lấy các mục nhập crontab theo lịch trình của Úc/Sydney). Tôi sẽ có một cái nhìn gần hơn .. – Taras