{@link #equals(Object) Value equality} of {@link Task}s is used to collapse two tasks into one. This is used to avoid infinite queue backlog.
Pending {@link Task}s are persisted when Hudson shuts down, so it needs to be persistable via XStream. To create a non-persisted transient Task, extend {@link TransientTask} marker interface.
Plugins are encouraged to extend from {@link AbstractQueueTask}instead of implementing this interface directly, to maintain compatibility with future changes to this interface.
For historical reasons, {@link Task} object by itselfalso represents the "primary" sub-task (and as implied by this design, a {@link Task} must have at least one sub-task.)Most of the time, the primary subtask is the only sub task.
|
|
|
|