技术栈
redis stream
RuoyiOffice
3 天前
spring boot
·
微服务
·
vue3
·
flowable
·
ruoyi office
·
redis stream
·
流程状态通知
Flowable 状态通知设计:单体用本地事件,微服务如何回写业务状态?
审批人点了通过,流程图已经走到结束,业务单据却还显示“审批中”。排查这类问题,不能只看Flowable有没有结束,还得沿着另一条链继续往下找:流程结果由谁解释,通知送到哪个服务,最后由谁更新业务数据?
hanchenxing
1 个月前
redis stream
·
任务丢失
Celery任务神秘丢失:从Redis Stream兜底到消费组去重的实战Celery
周三凌晨,监控告警突然炸了:celery 队列积压任务数量从平时的 200 飙到 5000,但 worker 日志里没有任何异常,任务也没有进入 failed 状态。更诡异的是,部分任务执行了,但结果回调(比如写数据库)迟迟没触发。我们检查了 Redis 的 LLEN,发现列表长度在减少,但任务确实“消失”了——既没成功,也没失败。
hanchenxing
1 个月前
幂等设计
·
redis stream
CeleryCelery任务重复执行排查:从Redis Stream消费组到幂等设计的实战
上周五深夜,我们的订单系统突然出现大量重复发货通知。排查日志发现,同一个订单的异步任务(Celery + Redis)在短短几秒内被执行了两次,且两次都成功调用了第三方物流API。更诡异的是,这个任务既没有设置重试,也没有人为触发。
hanchenxing
1 个月前
任务队列
·
redis stream
CeleryCelery任务丢失排查:从原理到用Redis Stream兜底的实战
Celery是Python生态最流行的分布式任务队列,但不少新手在刚上手时都遇到过任务“神秘消失”的情况:日志没报错,任务却始终没执行。这往往不是Celery本身的问题,而是我们忽略了它的ack机制和消息持久化的默认行为。
我是有底线的