Package hudson.slaves

Class ConnectionActivityMonitor

All Implemented Interfaces:
ExtensionPoint, Runnable

@Extension @Symbol("connectionActivityMonitor") public class ConnectionActivityMonitor extends AsyncPeriodicWork
Makes sure that connections to agents are alive, and if they are not, cut them off.

If we only rely on TCP retransmission time out for this, the time it takes to detect a bad connection is in the order of 10s of minutes, so we take the matters to our own hands.

Since:
1.325
Author:
Kohsuke Kawaguchi
  • Field Details

    • enabled

      public boolean enabled
  • Constructor Details

    • ConnectionActivityMonitor

      public ConnectionActivityMonitor()
  • Method Details

    • execute

      protected void execute(TaskListener listener) throws IOException, InterruptedException
      Description copied from class: AsyncPeriodicWork
      Executes the task.
      Specified by:
      execute in class AsyncPeriodicWork
      Parameters:
      listener - Output sent will be reported to the users. (this work is TBD.)
      Throws:
      IOException - The caller will record the exception and moves on.
      InterruptedException - The caller will record the exception and moves on.
    • getRecurrencePeriod

      public long getRecurrencePeriod()
      Description copied from class: PeriodicWork
      Gets the number of milliseconds between successive executions.

      Hudson calls this method once to set up a recurring timer, instead of calling this each time after the previous execution completed. So this class cannot be used to implement a non-regular recurring timer.

      IOW, the method should always return the same value.

      Specified by:
      getRecurrencePeriod in class PeriodicWork