目前,我们仅针对每个作业ID和状态创建一个事件(请参阅此处),但是对于一个作业两次进入特定状态是可行的。
例如,如果调度程序认为主机不正常,则该主机上的所有作业都将标记为已关闭,但是如果主机返回,则该作业可能仍在运行,因此这些作业将重新进入运行状态。 然后,涉及这些作业的后续部署将失败,因为将不会发出停机事件(停机事件从主机变得不正常时就已经存在)。
几个选择:
@titanous @josephglanville @jvatic的想法?
当调度程序将作业标记为已关闭时,如果它们已经开始运行,请停止它们,因为它们已经开始替换作业。
我认为这是正确的答案。
或者,可以为因主机离开而消失的作业添加不同的状态。
@titanous我认为为断开连接的主机上的作业添加新状态真的没有帮助。
当调度程序重新连接到先前已将其作业标记为已停止(或置于其他状态,如unknown
)的主机时,它仍需要做出决定,是停止所有仍在运行的作业,还是尝试执行以下操作:将其标记为再次运行(导致在控制器中重复up
事件)。
我认为我们应该在重新连接后立即停止工作。
Flynn无需维护,我们的基础设施将于2021年6月1日关闭。有关详细信息,请参阅自述文件。
最有用的评论
或者,可以为因主机离开而消失的作业添加不同的状态。