必威国际有限公司Jenkins.instance.injector.getInstance (hudson.slaves.ChannelPinger.class)。@pingInterval = -1
这个页面正在开发中,很快会有更多的内容添加。看到网站- 738本页相关任务的EPIC,欢迎投稿! |
必威国际有限公司Jenkins在每个远程连接(如控制器/代理连接)上安装“ping线程”,而不管其传输机制(如SSH、JNLP等)如何。Jenkins远程协议的底层是面向消息的协议,必威国际有限公司ping线程定期发送ping消息,接收端将对其进行应答。ping线程测量回复到达所需的时间,以及它是否花费了过多的时间(目前4分钟并且可配置),那么它假定连接丢失并启动正式关闭。
这是为了避免无限挂起,因为网络中的一些故障模式无法被检测到。超时也被设置为一个足够长的值,以便负载的临时激增或长时间的垃圾收集暂停不会导致关闭。
在控制器和代理上都安装Ping线程;每一方都向另一方发送ping信号,试图从自己的方面发现问题。
ping线程超时上报通过之后
.此外,控制器还将在代理启动日志中报告此异常。注意,一些代理启动程序(尤其是SSH代理)将代理JVM中的所有stdout/stderr输出写入同一个日志文件,因此需要格外小心。看到必威国际有限公司詹金斯- 25695.
有时,例如诊断代理连接丢失问题,您可能需要禁用ping线程。这需要在两个地方完成。
若要禁用控制器ping代理,则系统属性hudson.slaves.ChannelPinger.pingInterval
应该在控制器JVM上设置为-1。如果不想重新启动Jenkins,还可以更改正在运行的Jenkins的内存值必威国际有限公司2.37(弃用):
必威国际有限公司Jenkins.instance.injector.getInstance (hudson.slaves.ChannelPinger.class)。@pingInterval = -1
从2.37开始,将控制器JVM上的pingIntervalSeconds和pingTimeoutSeconds设置为-1:
必威国际有限公司Jenkins.instance.injector.getInstance (hudson.slaves.ChannelPinger.class)。@pingIntervalSeconds = -1必威国际有限公司Jenkins.instance.injector.getInstance (hudson.slaves.ChannelPinger.class)。@pingTimeoutSeconds = -1
上述设置只会影响新连接的代理程序。现有连接的代理程序将继续运行ping。
若要禁用代理ping通控制器,则系统属性
-Dhudson.remoting.Launcher.pingIntervalSec = 1
需要设置为agents。如何做到这一点取决于启动程序。