hudson.slaves
Class ConnectionActivityMonitor

java.lang.Object
  extended by java.util.TimerTask
      extended by hudson.triggers.SafeTimerTask
          extended by hudson.model.PeriodicWork
              extended by hudson.model.AsyncPeriodicWork
                  extended by hudson.slaves.ConnectionActivityMonitor
All Implemented Interfaces:
ExtensionPoint, Runnable

@Extension
public class ConnectionActivityMonitor
extends AsyncPeriodicWork

Makes sure that connections to slaves 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

Nested Class Summary
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Field Summary
 boolean enabled
           
 
Fields inherited from class hudson.model.AsyncPeriodicWork
name
 
Fields inherited from class hudson.model.PeriodicWork
DAY, HOUR, logger, MIN
 
Constructor Summary
ConnectionActivityMonitor()
           
 
Method Summary
protected  void execute(TaskListener listener)
          Executes the task.
 long getRecurrencePeriod()
          Gets the number of milliseconds between successive executions.
 
Methods inherited from class hudson.model.AsyncPeriodicWork
createListener, doRun, getLogFile
 
Methods inherited from class hudson.model.PeriodicWork
all, getInitialDelay
 
Methods inherited from class hudson.triggers.SafeTimerTask
run
 
Methods inherited from class java.util.TimerTask
cancel, scheduledExecutionTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

enabled

public boolean enabled
Constructor Detail

ConnectionActivityMonitor

public ConnectionActivityMonitor()
Method Detail

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


Copyright © 2004-2013. All Rights Reserved.