簡體   English   中英

在Django中為Celery修改正確的時間設置

[英]Correct timesettings in Django for Celery

我想知道如何在django和celery中正確使用時間設置。

這是我所擁有的:

TIME_ZONE = 'Europe/Oslo'
CELERY_TIMEZONE = 'Europe/Oslo'
CELERY_ENABLE_UTC = True

USE_TZ = True
TZINFO = 'UTC'

但是我Celery任務的時間戳提前了兩個小時。 我該如何解決?

使用:
Django-1.6b2
芹菜-3.0.23
django-celery-3.0.23

您可以使用TZ默認環境變量。 Django會自動通過調用以下命令來使用它: http : //docs.python.org/2/library/time.html#time.tzset如果您的芹菜從django運行,它也將在那運行。

您也可以使用類似:

os.environ ['TZ'] ='您的時區'

在本地安裝的開始(manage.py或wsgi.py)的開頭。

我認為您可能遇到了我也遇到的django-celery中的錯誤。 在django-celery的最近幾個發行版中,與時區相關的更改,並且當我從3.0.19更新到3.0.23時,這個錯誤首先向我顯示。

我在#celery IRC聊天中詢問了此問題,並被告知基於django管理員的celery任務視圖不是很好,我應該使用Flower( https://github.com/mher/flower )之類的東西來監視我的任務。

我安裝並運行了Flower,它沒有像基於django-celery admin的視圖那樣遇到相同的時間戳問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM