Django处理celery的时区问题

Celery连接Redis报错

1
TypeError: can't subtract offset-naive and offset-aware datetimes

该错误产生的原因是Celery的时区和Django的时区不一致造成,修改方式有以下两步

修改Django时区

如果你要设置比默认时区早八个小时,那就
USE_TZ = Talse
TIME_ZONE = ‘Etc/GMT%+-d’%(time.timezone/3600)

如果你要和的数据库中数据保持一致
USE_TZ = False
TIME_ZONE = ‘Etc/GMT%+-d’%(time.timezone/3600)

其实那些破玩意都没有用。
django系统会再你设置
USE_TZ = True

TIME_ZONE = ‘Etc/GMT-8 ‘
或者
TIME_ZONE = ‘Asia/Shanghai’
或者
TIME_ZONE = ‘Etc/GMT%+-d’%(time.timezone/3600)
的时候,自动给你讲时区加到北京时间。‘
将USE_TZ = False设置为False
就代表你不用那些垃圾的设置,数据库里是什么就是什么。

ok,就这些了。有时候好像设置了没变化和缓存有关系。

修改Celery时区

1
2
CELERY_ENABLE_UTC=False
CELERY_TIMEZONE='Asia/Shanghai'
坚持技术分享,您的支持将鼓励我继续创作!

热评文章