Package hudson.slaves
Class CloudSlaveRetentionStrategy<T extends Computer>
java.lang.Object
hudson.slaves.RetentionStrategy<T>
hudson.slaves.CloudSlaveRetentionStrategy<T>
- All Implemented Interfaces:
ExtensionPoint,Describable<RetentionStrategy<?>>
Default convenience implementation of
RetentionStrategy for agents provisioned from Cloud.
If an agent is idle for 10 mins, this retention strategy will remove the agent. This can be used as-is for
a Node provisioned by cloud to implement the auto-scaling semantics, it can be subtyped to tweak
the behavior, or it can be used as an example.
TODO CloudRetentionStrategy seems to be a better implementation.
- Since:
- 1.510
- Author:
- Kohsuke Kawaguchi
-
Nested Class Summary
Nested classes/interfaces inherited from class hudson.slaves.RetentionStrategy
RetentionStrategy.Always, RetentionStrategy.DemandNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
FieldsFields inherited from class hudson.slaves.RetentionStrategy
INSTANCE, LIST, NOOP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlongThis method will be called periodically to allow this strategy to decide what to do with its owning agent.protected longWhen do we check again next time?protected longIf the computer has been idle longer than this time, we'll kill the agent.protected booleanHas this computer been idle for too long?protected voidRemove the node.Methods inherited from class hudson.slaves.RetentionStrategy
all, isAcceptingTasks, isManualLaunchAllowed, startMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface hudson.model.Describable
getDescriptor
-
Field Details
-
TIMEOUT
public static long TIMEOUT
-
-
Constructor Details
-
CloudSlaveRetentionStrategy
public CloudSlaveRetentionStrategy()
-
-
Method Details
-
check
Description copied from class:RetentionStrategyThis method will be called periodically to allow this strategy to decide what to do with its owning agent.- Specified by:
checkin classRetentionStrategy<T extends Computer>- Parameters:
c-Computerfor which this strategy is assigned. This computer may be online or offline. This object also exposes a bunch of properties that the callee can use to decide what action to take.- Returns:
- The number of minutes after which the strategy would like to be checked again. The strategy may be rechecked earlier or later than this!
-
kill
Remove the node.To actually deallocate the resource tied to this
Node, implementComputer.onRemoved().- Throws:
IOException
-
checkCycle
protected long checkCycle()When do we check again next time? -
isIdleForTooLong
Has this computer been idle for too long? -
getIdleMaxTime
protected long getIdleMaxTime()If the computer has been idle longer than this time, we'll kill the agent.
-