以下序列导致种类的竞争条件。
客户购买服务的那一刻,数据库包含一个字段payment
= false
客户被引导至支付网关。只有付款成功,才会调用Web服务。 (这是支付网关的设计限制)
网络服务会将字段status
的状态更新为true
。
在每x个时间间隔,我有一个计时器作业,将数据库行的状态同步到第三方系统。第三方系统目前无法更新记录。该作业当前在数据库中查找记录,该记录没有在第三方系统中创建记录时发出的GUID。它只将那些记录写入第三方系统。
我所遇到的是网络服务将付款的值设置为true,但作业已将付款的值写为false。
我该如何解决这个问题?