ArrJanitor::Janitor
Processes a single backend's download queue, removing and blocklisting any download that contains a bad file extension and re-triggering a search when the episode/movie has already been released.
Download-client construction is injected via a DownloadClientResolver so
the pipeline is testable offline; by default it delegates to
DownloadClient.build.
Constants
The default resolver: delegates straight to DownloadClient.build.
Constructors
Optional persistence for the processed-download audit log. When nil
(the default) recording is a no-op, so the pipeline runs unchanged.
When dry_run is true, the read path is unchanged but no mutation is
performed: intended deletes/blocklists/searches are logged with a
[DRY RUN] prefix and nothing is written to the store.
Instance methods
Scans backend.queue, acting on each item. Every item is processed inside
its own begin/rescue, so a failure on one item is logged via reporter
and the scan continues with the rest.