在使用celery 執行定時任務時,發現任務不會執行,schedule設置如下:
經測試,如果去掉hour,則任務每分鐘都會執行,說明是hour的問題,那只有是時區的問題了。
遂將hour改爲UTC的時間,發現任務可以執行,說明celery使用的是UTC時區,但我設置的時區如下:
CELERY_TIMEZONE='Asia/Shanghai', CELERY_ENABLE_UTC=True,
說明這兩行代碼沒生效。
查看celery源碼,經過我的一番上下求索,並未找到問題。
遂谷歌之,發現這是celery4.1.0的一個bug,附上issue。
最後升級celery至4.2,完美解決問題!