【问题标题】:celery beat timezone problems芹菜节拍时区问题
【发布时间】:2018-09-08 12:13:05
【问题描述】:

所以,我已经使用 celery/beat 很多年了,并且由于 DST 问题等原因一直在手动设置我的任务计划。随着我的代码库变得越来越大,我运行的脚本来更改时代越来越大,我决定解决这个问题。

简而言之,我的系统时钟会自动更新,我可以从我的 shell 运行:

┌─[luke@freebsd] - [~/py3-apps/intranet] - [Thu Mar 29, 12:24]
└─[$]> date
Thu Mar 29 12:37:22 BST 2018

所以目前我有一个任务要在上午 10:30 运行,它将在上午 11:30 运行。所以我认为这很容易,我在配置中添加了以下内容:

CELERY_TIMEZONE = Europe/London
CELERY_ENABLE_UTC = False

当我运行芹菜节拍时间表时,通过:

celery worker --beat -A pyramid_celery.celery_app --ini development.ini -n celeryIntranetAPI

现在我认为这会解决我的问题,但是我的 cron 任务仍然落后一个小时,我怎样才能让 celery 跟上系统时钟?

注意我已经尝试过:

CELERY_TIMEZONE = UTC          
CELERY_ENABLE_UTC = True

根据一些建议,但这也不起作用。

任何人都可以阐明如何将我的 celery cron 计时链接到系统时钟吗?

这是在芹菜中修复的:https://github.com/celery/celery/commit/be55de622381816d087993f1c7f9afcf7f44ab33

【问题讨论】:

  • 您正在使用CELERY_ 我假设您将它导入到芹菜配置文件中?如果不是,您可以使用TIMEZONE,具体取决于您居住的地方,伦敦比欧洲其他地区晚 1 小时。 UTC 正在自动使用。我认为UTC-1 也是一种选择?但我不确定。希望这可以帮助你。另一种选择是在 celery 配置文件中添加app.conf.timezone = 'UTC'
  • 原来我没有发疯,这是一个芹菜问题:github.com/celery/celery/commit/…
  • 问题解决了吗?
  • 是的,崩溃了,所以刚刚标记,感谢您的帮助。

标签: celery celerybeat


【解决方案1】:

原来这是 celery 的一个错误,已修复 here

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 2020-01-23
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 2015-10-12
    • 2020-07-04
    • 2015-05-13
    相关资源
    最近更新 更多