@Extension public class AsyncResourceDisposer extends hudson.model.AdministrativeMonitor implements Serializable
dispose(org.jenkinsci.plugins.resourcedisposer.Disposable...).
Implementation details: The disposer can be quite loaded during massive resource eviction. Therefore, the persisted
state is guaranteed to be preserved only for purposes of resource tracking but not necessarily with their individual
state. IOW, tracking adding and removing disposables is critical while tracking their state is not performed as it is
cheap to recalculate. Resource set is persisted when disposables are registered/unregistered and periodically to
capture successful resource removals. The last state is not part of the persisted data at all.Disposable,
Serialized Form| Modifier and Type | Class and Description |
|---|---|
static class |
AsyncResourceDisposer.Scheduler
Reschedule failed attempts.
|
static class |
AsyncResourceDisposer.WorkItem
Disposable wrapper to be run in threadpool and track success/failure.
|
| Constructor and Description |
|---|
AsyncResourceDisposer() |
| Modifier and Type | Method and Description |
|---|---|
void |
dispose(Disposable... disposables)
Schedule resource to be disposed.
|
void |
dispose(Iterable<? extends Disposable> disposables)
Schedule resource to be disposed.
|
Future<AsyncResourceDisposer.WorkItem> |
disposeAndWait(Disposable disposable)
Only exposed for testing.
|
org.kohsuke.stapler.HttpResponse |
doStopTracking(int id,
org.kohsuke.stapler.StaplerResponse rsp) |
static AsyncResourceDisposer |
get() |
Set<AsyncResourceDisposer.WorkItem> |
getBacklog()
Get list of resources do be disposed.
|
String |
getDisplayName() |
boolean |
isActivated() |
void |
reschedule()
Force rescheduling of all tracked tasks.
|
void |
reset() |
all, disable, doDisable, getSearchUrl, getTarget, getUrl, isEnabled@Nonnull public static AsyncResourceDisposer get()
@Nonnull public Set<AsyncResourceDisposer.WorkItem> getBacklog()
public String getDisplayName()
getDisplayName in interface hudson.model.ModelObjectgetDisplayName in class hudson.model.AdministrativeMonitorpublic boolean isActivated()
isActivated in class hudson.model.AdministrativeMonitorpublic void dispose(@Nonnull Disposable... disposables)
disposables - Resource wrappers to be deleted.public void dispose(@Nonnull Iterable<? extends Disposable> disposables)
disposables - Resource wrappers to be deleted.@Restricted(value=org.kohsuke.accmod.restrictions.DoNotUse.class)
public org.kohsuke.stapler.HttpResponse doStopTracking(@QueryParameter
int id,
org.kohsuke.stapler.StaplerResponse rsp)
public void reschedule()
public Future<AsyncResourceDisposer.WorkItem> disposeAndWait(Disposable disposable)
public void reset()
Copyright © 2016–2019. All rights reserved.