Celery 时间问题

在支付平台的订单推送中,由于大部分时间消耗在请求上,选择了使用Celery并配置为Asia/Shanghai时区。然而,在设置任务重试时,尽管Celery似乎考虑了时差,但重试依然基于UTC时间执行。目前开发者正在排查Python或Celery的配置问题,并暂时通过手动调整ETA来解决重试时间设置。
摘要由CSDN通过智能技术生成

转载请标明地址 https://mp.csdn.net/postedit/80088558

 

我们的支付平台需要推送成功订单给业务系统。这个大部分的时间用在了请求上。所以我们必须要用线程协程这些东西,最后选用了celery。配置的时候自然而然的选择的Asia/shanghai,其他的没问题,用的时候显然celery自己本身也计算了时差问题。但是但我们设置重试的时候,里面还是按照utc时间来执行的。我去官网看了一下说了python和celery哪一步不知道哪里出了问题还在排查。现在我只好每次重试手动添加eta时间。

 
from celery import Celery
app = Celery()
app.config_from_object('mytest.config')

下面是配置内容

 
# 只是写了一点简单配置。有需要的要进行路由和交换机的配置
BROKER_URL = 'redis://**********:6379/5'
CELERY_RESULT_BACKEND = 'redis://**********:6379/6'

CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24
CELERY_ACCEPT_CONTENT = ["json"]

 </

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值