celery中时区问题

celery中时区问题

# 想将celery中的时区换成中国的,要注意:
	延时任务的时区设置和定时任务的时区设置是相互独立的
    
# 特别鸣谢:
	该文章详细说明了为什么定时任务的时间设置在延时任务中不生效
	https://www.jianshu.com/p/681eb15681f7

1延时任务

# 使用美国时间
eta=datetime.utcnow() + timedelta(seconds=50) 


# 手动将中国时间提前8小时,转化成对应的美国时间
eta=datetime.now() + timedelta(seconds=50)  		   #  eta =当前的utc时间+ 50s延时
eta = eta + timedelta(hours = -8)            		   # 将美国时间转化成对应的中国时间

2 定时任务

# 修改celery的配置信息    
# 修改定时任务使用的时区
app.conf.timezone = 'Asia/Shanghai'      # app.conf是整个celery的配置信息
# 是否使用UTC时间
app.conf.enable_utc = False


# 注意事项:
1.该方式修改时区对延时任务不生效
posted @ 2021-10-21 10:29  hai437  阅读(846)  评论(2编辑  收藏  举报