想用 quarz 使用支付宝支付完成后的通知效果,即如果当时没有支付成功,使用 quarz 计划任务进行通知。1 分钟 3 次 5 分钟 2 次 半个小时 3 次 1 个小时 3 次。
我的设计方案:
- 第一个 job 每分钟执行一次,查询 notify_log 日志表中未通知成功的集合
- 遍历 1 中查询出来的集合,分别将 notify 信息加入到每分钟执行的 job 和 5 分钟执行的 job
存在问题:
- notify_log 中需要标志位标识 是否加入 job 中执行,但是如果程序挂掉了,之前已经执行但未完成的 notify 就会被忽略。导致每次重启服务时需要将之前处于执行状态的 notify_log 重置为未执行。
- 每分钟轮询会对数据库产生压力么?每次轮询多少为好?
大神有更好的方案么?
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于