我想知道如何正确使用django和芹菜中的时间设置。
这是我所拥有的:
TIME_ZONE = 'Europe/Oslo'
CELERY_TIMEZONE = 'Europe/Oslo'
CELERY_ENABLE_UTC = True
USE_TZ = True
TZINFO = 'UTC'
但是我的芹菜任务的时间戳提前了两个小时。我该如何解决它?
用:
姜戈 - 1.6b2
芹菜 - 3.0.23
姜戈-芹菜 - 3.0.23<</p>
您可以使用 TZ 默认环境变量。Django 会自动使用它,调用: http://docs.python.org/2/library/time.html#time.tzset如果你的芹菜从 django 运行,它也可以在那里工作。
您也可以使用类似以下内容:
os.environ['TZ'] = 'your timezone'
( manage.py 或 wsgi.py ) 的开头,在您的本地安装中。
我想你可能在 django-celery 中遇到了一个我也遇到的错误。在 django-celery 的最后几个版本中有与时区相关的更改,当我从 3.0.19 更新到 3.0.23 时,这个错误首次出现在我身上。
我在 #celery IRC聊天中询问了这个问题,并被告知基于django管理员的芹菜任务视图不是那么好,我应该使用类似Flower(https://github.com/mher/flower)的东西来监视我的任务。
我安装并运行了 Flower,它没有遇到与基于 django-celery 管理员的视图相同的时间戳问题。