2013-09-26 46 views
1

我想知道如何正確使用django和芹菜timesettings。正確的Django時間設置爲芹菜

以下是我有:

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

USE_TZ = True 
TZINFO = 'UTC' 

但在我的芹菜任務時間戳提前了兩個小時。我該如何解決它?

使用:
Django的 - 1.6b2
芹菜 - 3.0.23
Django的芹菜 - 3.0.23

+0

你使用什麼版本的芹菜? –

+0

更新的版本問題。 –

+0

您是否使用Django Celery DB結果後端,可以查看Django管理員中的任務狀態? –

回答

0

我想你可能會擊中Django的芹菜中的錯誤,我也遇到了。在django-celery的最新版本中有時區相關的變化,當我從3.0.19更新到3.0.23時,這個錯誤首先出現。

我在#celery IRC聊天室詢問了這件事,並被告知基於django管理員的celery任務視圖並不好,我應該使用像Flower(https://github.com/mher/flower)這樣的東西來監視我的任務。

我安裝並運行了Flower,它沒有受到與django-celery管理員視圖相同的時間戳問題的影響。

1

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

你也可以使用類似:

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

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