比如我需要执行很多任务,执行任务比较耗时,所以才去了异步执行
我的调度方法把要执行的任务拿到(比如在方法 A 中)
然后通过异步方法去执行(方法 B 中)
我需要修改这个任务状态为执行中
这个时候,有个事务问题,就是,我修改任务状态是在 A 中,不能在 B 中,因为 B 有可能会执行很久才完成,才进行事
务提交,外部看着任务的状态会很长一段时间没有状态
所以,我在 A 中修改任务状态,然后异步执行 B
但是,如果 B 执行的足够快,有可能我的 A 还没有提交,B 查询得到的状态就是空的,这个时候,A 提交了,然后 B 提交
了,那么 B 提交的数据里,状态就是空的,把 A 提交的任务状态覆盖了
这个场景可能没那么恰当,但是应该能表达我想说的意思了
就是这种有异步执行的场景下,为了确保前一个事务确实提交了,再执行异步方法,只有手动提交事务么?有没有
更优雅的方法呢,谢谢~