ArrJanitor::Backend
Abstraction over an *arr instance (Sonarr today, Radarr later). Concrete backends wrap the corresponding client shard; callers work only with the ArrJanitor structs above.
A backend also carries its own scheduling state so the scheduler can run one
fiber per backend: next_run is when the next scan is due, due? reports
whether it should run now, and schedule_next advances it by the configured
interval.
Instance methods
The Config::Backend this backend was built from. The janitor reads it for
the extensions_filter matcher and download-client credentials.
Removes the item from its download client and blocklists it in the *arr.
Resolves connection details for the download client named name, or nil
when the *arr has no such client configured.
Whether a scan should run now: true on the first tick (next_run unset)
or once the scheduled time has been reached/passed.
When the next scan is due; nil means "run on the first tick".
Whether the item's episode/movie has been released (aired/available).