我需要从服务器获取数据,这需要时间;通常为30分钟或更长时间。
我有一个从这个服务器获取数据的构建器;如果我还在运行这个构建器,我希望这个奴隶上没有其他构建器可以运行。完成后,另一个构建器可以同时运行,尊重与最大并发构建相关的设置。
我如何实现这一目标?我正在看锁,但手册中没有一个明确的例子,说明如何设置构建器以阻止所有其他构建器。
有没有人有一个我可以用来设置我的配置的例子,以及每件作品的位置?感谢
答案 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
中没有解释清楚,更复杂的例子