芹菜击败时区问题
celery beat timezone problems
所以,我已经使用 celery/beat 很多年了,并且一直在手动偏移,由于 DST 问题等导致我的任务计划。随着我的代码库变得更大,我的脚本运行时代变的越来越大,我决定解决这个问题
所以简而言之,我的系统时钟会自动更新,从我的 shell 我可以 运行:
┌─[luke@freebsd] - [~/py3-apps/intranet] - [Thu Mar 29, 12:24]
└─[$]> date
Thu Mar 29 12:37:22 BST 2018
所以目前我有一个任务要 运行 在 10:30am,它将 运行 在 11:30am。所以我认为这很容易,我在配置中添加了以下内容:
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
根据一些建议,但这也不起作用。
任何人都可以阐明我如何 link 我的 celery cron 计时到系统时钟吗?
这是在芹菜中修复的:https://github.com/celery/celery/commit/be55de622381816d087993f1c7f9afcf7f44ab33
原来这是芹菜的错误,已修复here
所以,我已经使用 celery/beat 很多年了,并且一直在手动偏移,由于 DST 问题等导致我的任务计划。随着我的代码库变得更大,我的脚本运行时代变的越来越大,我决定解决这个问题
所以简而言之,我的系统时钟会自动更新,从我的 shell 我可以 运行:
┌─[luke@freebsd] - [~/py3-apps/intranet] - [Thu Mar 29, 12:24]
└─[$]> date
Thu Mar 29 12:37:22 BST 2018
所以目前我有一个任务要 运行 在 10:30am,它将 运行 在 11:30am。所以我认为这很容易,我在配置中添加了以下内容:
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
根据一些建议,但这也不起作用。
任何人都可以阐明我如何 link 我的 celery cron 计时到系统时钟吗?
这是在芹菜中修复的:https://github.com/celery/celery/commit/be55de622381816d087993f1c7f9afcf7f44ab33
原来这是芹菜的错误,已修复here