Git Product home page Git Product logo

resource-disposer-plugin's Introduction

Integrating Resource Disposer into plugin

Overview

The plugin defines a single point of entry (AsyncResourceDisposer.get().dispose(...)) for plugins to get resources deleted asynchronously. Plugin tracks the resources and attempts to release them periodically until it succeeds. The registered resource is represented as a Disposable, a named wrapper that knows how the resource should be disposed (Disposable#dispose()). The method is expected to return either confirmation the resource is gone, reason it has failed to delete it or, for mere convenience, throw an exception that will be captured as such reason. The implementation is expected to identify the resource (and its kind/source) as well as the problem that occurred for instance admin to understand. Disposable implementations equal to each other will be collapsed presuming they represent the same resource.

Manual intervention

Keep in mind the resource controlled by the plugin might get freed by a human or some other automation. Therefore, the disposable algorithm need to be implemented in a way to report successful deletion in case the resource disappears.

Serialization

Disposables are persisted between restarts so it needs to deserialize in a way to still be able to perform its task. In case the resource is freed by Jenkins restart naturally, it should deserialize into an object to report success all the time (to be unregistered on first periodic attempt to dispose).

resource-disposer-plugin's People

Contributors

olivergondza avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.