一天大概会生成七八千量的订单数据,逐一去调用第三方支付接口支付。已有逻辑是使用定时任务同步执行的,每 5 秒执行一次,需要执行几个小时才能完成。怎么改造一下能快速处理完?
資深大佬 : typ1805 12
改成多个请求接力执行
大佬有話說 (41)
最好的办法然是,用队列。
如果还想用定时任务,那么可以改为 1 秒一次,然后每次取 5 条订单出来,同时发 5 个请求,或者发一个请求,等返回结果后再发下一个请求。
注意要防止重入,举例第一次你取出来 5 条是 1,2,3,4,5,结果你程序处理到第 4 条时,下一秒又被取出来 5 条是 5,6,7,8,9,那么 5 就有可能被对方处理 2 次。