Added recovery message when queue is empty

readme update
This commit is contained in:
Benjamin Harder
2025-05-19 19:50:56 +02:00
parent 1bee35c029
commit a3a3e8e5cb
3 changed files with 16 additions and 8 deletions

View File

@@ -21,12 +21,15 @@ class RemovalJob(ABC):
self.job_name = job_name
self.job = getattr(self.settings.jobs, self.job_name)
self.queue_manager = QueueManager(self.arr, self.settings)
self.strikes_handler = StrikesHandler( job_name=self.job_name, arr=self.arr, max_strikes=self.max_strikes, )
async def run(self):
if not self.job.enabled:
return 0
if await self.is_queue_empty(self.job_name, self.queue_scope):
if self.max_strikes:
self.strikes_handler.all_recovered()
return 0
self.affected_items = await self._find_affected_items()
self.affected_downloads = self.queue_manager.group_by_download_id(self.affected_items)
@@ -36,11 +39,7 @@ class RemovalJob(ABC):
self.max_strikes = getattr(self.job, "max_strikes", None)
if self.max_strikes:
self.affected_downloads = StrikesHandler(
job_name=self.job_name,
arr=self.arr,
max_strikes=self.max_strikes,
).check_permitted_strikes(self.affected_downloads)
self.affected_downloads = self.strikes_handler.check_permitted_strikes(self.affected_downloads)
# -- Removal --
await RemovalHandler(

View File

@@ -14,6 +14,13 @@ class StrikesHandler:
return self._apply_strikes_and_filter(affected_downloads)
def all_recovered(self):
self.tracker.defective[self.job_name] = {}
logger.info(
">>> No downloads any longer marked as %s (None in queue)",
self.job_name,
)
def _recover_downloads(self, affected_downloads):
recovered = [
d_id for d_id in self.tracker.defective[self.job_name]