当setting.py中的CELERY_TIMEZONE设置的是非UTC的话,比如说’Asia/Shanghai’,且USE_TZ设置为False的话,那么启动定时任务的时候会报错,报错信息如下:
raise ValueError("MySQL backend does not support timezone-aware datetimes when USE_TZ is False.")
ValueError: MySQL backend does not support timezone-aware datetimes when USE_TZ is False.
解决方法:
第一种方法:setting.py中的USE_TZ需要设置为True(不推荐)
第二种方法(推荐):setting.py中增加:
# 避免时区的问题
CELERY_ENABLE_UTC = False
DJANGO_CELERY_BEAT_TZ_AWARE = False
本文探讨了当setting.py中CELERY_TIMEZONE非UTC设置,且USE_TZ为False时的MySQL错误。提供了两种解决方案,包括将USE_TZ设为True和调整时区设置以避免冲突。推荐使用后者并保持UTC时间一致性。

100

被折叠的 条评论
为什么被折叠?



