【发布时间】:2015-10-28 01:11:41
【问题描述】:
简而言之
如何将一个作业请求分发给一个从属并执行;而后续的作业请求不会排队如果有其他从属空闲。
详情
有一个服务使用Jenkins job作为入口,用户可以点击Build Job提交请求。一次只能在一个从站上执行一项作业。
为了提高吞吐量,我添加了更多的从站来执行这个作业。但是,我发现了以下问题:
使用多配置作业,同一个作业会在所有从属服务器上产生,但我只希望一个从属服务器执行该作业(一个请求),因此其他从属服务器可以执行其他工作(请求)。
使用 NodeLable 插件,但是当一个作业正在执行时,即使有其他从属空闲,后续作业也会排队。
由于入口作业会触发下游作业,所以从服务请求的从站不会改变,在之前的所有下游作业完成之前,可以在同一个从站上触发另一个入口作业。
有没有什么办法让入口作业随机选择一个从属来执行作业,满足一个用户的请求;然后选择另一个从属设备(如果有空闲)来执行另一个作业,以满足另一个用户的请求。如果所有的 slave 都忙,即将到来的请求将被排队等待直到一个 slave 再次空闲。
谢谢!
我选择了什么
当不同的作业相互依赖并具有共享状态时,就会出现问题。因此,为了避免未来的挫败感,我将所有相关的工作合并为一个。所以没有更多的共享状态,问题就解决了。
【问题讨论】:
标签: jenkins