2016-09-23重大失误,记一次celery失误
事件
【2016-09-23重大失误,记一次celery失误】23日晚公司app分发奖励,后台设置错误,导致23:00到23:22期间内,原本只分发一次的奖励,每分钟重复分发,多分发了21份奖励,导致损失10k余元。
分析
定时任务使用celery写的,第一个想到的是celerybeat没有重启,重启celerybeat之后,状况仍然存在,要炸。打开代码分析,找到原因。删除redis队列的信息,重启,ok。
原因
#代码
'daily-reward':
{
'task': 'running.tasks.daily_reward',
'schedule': crontab(hour='23'),
'args': (),
},
原因出在schedule此时设置的是hour=23,会导致在23时每分钟都会重复任务。正确的写法是
'schedule': crontab(minute=0, hour='23',
尾声 归根结底是自己对celery的掌握不够到位,导致这次损失,引以为戒,不说了,吃土去了。
推荐阅读
- K8S|K8S 生态周报| Istio 即将发布重大安全更新,多个版本受影响
- 有你们真好(二)
- 美国票选服务公司操作失误,致180万芝加哥选民信息被泄漏
- 雪耻
- 分布式|mall-swarm 微服务电商项目发布重大更新,打造Spring Cloud最佳实践!
- Mall|Mall 电商实战项目发布重大更新,全面支持SpringBoot 2.3.0 !
- 【观点】张翔(互联互通测评对医院信息化建设意义重大)
- 【e医疗原创】潘传迪(院前、院后的医疗关爱意义更重大)
- #|清晰架构(Clean Architecture)的Go微服务—重大升级
- 【e医疗原创】朱杰(为什么重大疾病保险不是医疗保险)