我的数据库中有一个包含已定义作业的表。其中一个jobs属性是status,可以是[waiting,in_progress,done]。为了处理作业,我已经定义了两个服务器之间的主工关系,它们按以下方式工作:
这是一个完美的案例场景,但是在工作执行期间可能会发生一个工人死亡。在这种情况下,需要重新启动作业,但是除了在数据库中检查其状态之外,master无法验证作业是否已完成(' done')。因此,如果工人死亡,在数据库中该工作仍处于状态' in_progress'并且服务器不知道工作人员死亡并且该工作需要重新启动。 (我们无法从工人那里获得任何反馈,我们无法对其进行ping操作,也无法获取他目前正在处理的工作信息)
我解决这个问题的想法是:
现在我正在寻找一种方法来验证它确实会有效。可能在SQL开发人员(两个实例)中使用SQL sctipt,我希望这可以通过以下方式工作:
实例1:
实例2:
然后我会杀死实例1 以模拟工作人员死亡并再次运行实例2.
请告知我的方法是否正确
P.S 你还能指点我一些很好的解释如何创建脚本表格实例1 ?