关于进程重复消费

做卡项目的时候 我们消费还款都是后端controb调用定时任务执行的 方法是定时3分钟消费200条数据 前期项目量少的时候消费都是正常的 当后面数据量大的时候 sql执行效率越来越慢 刚好有一次碰上调用第三方响应比较慢 导致超过3分钟进程还没执行结束 另一个进程又开启了 这样新的进程又在处理上一个进程 这样导致重读消费了 重大生产事故了

 解决办法

定时多进程执行  每个进程执行订单号不一样的数据 这样能保证不积压消费数据

每个进程开启的时候启动锁 结束的时候解锁 这样相同类型的进程启动的时候就要判断锁存不存在 存在的话进程不开启 redis设置过期时间 这样就不会有死锁的存在

时间充裕的时候就引入队列来消费了 队列的优势 解耦 不会出现重复消费 对队列同时执行 

反思 对未出现的问题没有预支 编程要全面考虑可能出现的问题 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一. 操作系统概念 操作系统位于底层硬件与应用软件之间的一层.工作方式: 向下管理硬件,向上提供接口.操作系统进行...
    月亮是我踢弯得阅读 6,195评论 3 28
  • 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单...
    可笑的黑耀斑阅读 1,119评论 0 0
  • 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。进程的概念起源于操作系统,是操作系统最核心的概...
    SlashBoyMr_wang阅读 1,319评论 0 3
  • 一、进程 1、多任务原理 多任务是指操作系统同时可以运行多个任务。 单核CPU实现多任务原理:操作系统轮流让各个任...
    Java架构_师阅读 444评论 0 0
  • 守护进程 关于守护进程需要强调两点: 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进...
    牛奶加醋阅读 601评论 0 0

友情链接更多精彩内容