Class AsyncResourceDisposer

  • All Implemented Interfaces:
    ExtensionPoint, ModelObject, SearchableModelObject, SearchItem, Serializable, org.kohsuke.stapler.StaplerProxy

    @Extension
    public class AsyncResourceDisposer
    extends AdministrativeMonitor
    implements Serializable
    Track resources to be disposed asynchronously. In order to have resource disposed safely and eventual failures tracked for Jenkins admins to see, register wrapped resources using 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.
    Author:
    ogondza
    See Also:
    Disposable, Serialized Form
    • Constructor Detail

      • AsyncResourceDisposer

        public AsyncResourceDisposer()
    • Method Detail

      • dispose

        public void dispose​(@NonNull
                            Disposable... disposables)
        Schedule resource to be disposed.
        Parameters:
        disposables - Resource wrappers to be deleted.
      • dispose

        public void dispose​(@NonNull
                            Iterable<? extends Disposable> disposables)
        Schedule resource to be disposed.
        Parameters:
        disposables - Resource wrappers to be deleted.
      • doStopTracking

        @Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class)
        public org.kohsuke.stapler.HttpResponse doStopTracking​(@QueryParameter
                                                               int id,
                                                               org.kohsuke.stapler.StaplerResponse rsp)
      • reschedule

        public void reschedule()
        Force rescheduling of all tracked tasks.
      • reset

        public void reset()