避免构建器将在buildbot中同时运行

时间:2014-05-26 02:25:19

标签: buildbot

我需要从服务器获取数据,这需要时间;通常为30分钟或更长时间。

我有一个从这个服务器获取数据的构建器;如果我还在运行这个构建器,我希望这个奴隶上没有其他构建器可以运行。完成后,另一个构建器可以同时运行,尊重与最大并发构建相关的设置。

我如何实现这一目标?我正在看锁,但手册中没有一个明确的例子,说明如何设置构建器以阻止所有其他构建器。

有没有人有一个我可以用来设置我的配置的例子,以及每件作品的位置?感谢

1 个答案:

答案 0 :(得分:2)

锁定示例如下:

import sys
from buildbot import locks
build_lock = locks.SlaveLock("slave_builds",
                             maxCount=sys.maxint)

c['builders'].append(BuilderConfig(name=exclusive_builder,
                                   slavenames=['my_slave'],
                                   factory=my_factory,
                                   locks=[build_lock.access('exclusive')]))
c['builders'].append(BuilderConfig(name=other_builder,
                                   slavenames=['my_slave'],
                                   factory=my_other_factory,
                                   locks=[build_lock.access('counting')]))

使用此锁定的构建将具有对从属的独占访问权限。 Interlocks section of the documentation

中没有解释清楚,更复杂的例子