如何等待触发或检查作业完成作业?

时间:2016-05-27 07:52:38

标签: jenkins jenkins-plugins jenkins-workflow jenkins-pipeline

我有3个工作(工作A,工作B和工作C)。作业A触发作业C.我希望作业C等待作业B完成并运行完整的作业。

我们可以等待工作完成吗?

我读过有关民意调查的内容。它有什么作用 ?民意调查可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

我认为通过民意调查你的意思是“忙着等待”。这可以帮到你,但它通常被认为是一种效率低下的解决方案。

但什么是民意调查? (被视为忙碌等待)

类比

好吧,想象一下你从亚马逊或其他一些在线商店买了一件商品。轮询就是当你坐在家里,每隔5秒就打电话给亚马逊,知道你的产品是否已经到货。

正式定义

您可以查看更正式的definition on the wiki。引用:

  

轮询有时与忙等待轮询同义使用。在这   情况,当需要I / O操作时,计算机会这样做   除了检查I / O设备的状态之外别无其他   准备就绪,此时访问设备。换句话说,   计算机等待,直到设备准备好。民意调查也指   重复检查设备是否准备就绪的情况,以及是否   它不是,计算机返回不同的任务。虽然没有   浪费等待的CPU周期浪费,这通常不如   作为轮询,中断驱动的I / O的替代方法。

改善方法

因此,轮候忙碌的等待意味着你待在家里,等待送货员,每5秒钟给他打电话检查一下他的状态。如果你有工作或做家务,那就浪费你的时间。你可以通过每5秒呼叫一个人来缓解这种情况,但不是坐着等待再次给他打电话,你可以做一些家务。这样你做一些工作,打电话给那个人,然后回来。每五秒钟。

虽然这种替代方案比真正的忙碌等待更好,但每5秒钟中断您的活动来检查分娩人员仍然很麻烦。

替代

正如维基解释的那样,这里真正的替代方案是中断驱动的事件。继续我的比喻,中断驱动的事件意味着你在网上买东西,然后你去上班或上学或做你的家务。因为你有一部手机,而且送货员也有一个带号码的人,当他到达时,他会打电话给你,你可以来接你的物品。

这里棘手的部分是确保您正确编码手机,这意味着您准备工作A,B和C被事件中断并相应地做出响应。根据具体情况和您使用的工具,这可能不是一件容易的事。

对于更具体的答案,我们需要知道您正在使用哪些技术以及您对这些工作的控制程度。

嗯,在这里,我希望我的类比可以帮助你理解这些概念!