定时job如何做并发控制,保证只有一台服务器执行?

2019-09-29  本文已影响0人  鸿雁长飞鱼龙潜跃

定时job如何做并发控制,保证只有一台服务器执行?

我们项目使用的是乐观锁。

首先每条job都会配置在数据库中,初始状态是N,如果有job开始跑了,会先把状态置为Y。

并发场景我们是这样考虑的,拿预期值和修改值去更新这条数据,sql是这样的:

update job_table jt

set

jt.status = 'Y',

jt.update_date = sysdate

where

jt.job_code = 'job_a_code' and

jt.status = 'N'

上一篇 下一篇

猜你喜欢

热点阅读