cleanup records older than 16 days

This commit is contained in:
bymyself 2025-06-21 16:57:54 -07:00
parent 35d98dcea8
commit a66f86d4af

View File

@ -21,7 +21,7 @@ import traceback
import urllib.request
import uuid
import zipfile
from datetime import datetime
from datetime import datetime, timedelta
from typing import Any, Optional
import folder_paths
@ -191,6 +191,7 @@ class TaskQueue:
self.batch_start_time = None
self.batch_state_before = None
self._worker_task = None
self._cleanup_performed = False
def is_processing(self) -> bool:
"""Check if the queue is currently processing tasks"""
@ -546,6 +547,11 @@ class TaskQueue:
self.batch_start_time = None
self.batch_state_before = None
# Cleanup old batch files once per session
if not self._cleanup_performed:
self._cleanup_old_batches()
self._cleanup_performed = True
except Exception as e:
logging.error(f"[ComfyUI-Manager] Failed to save batch history: {e}")
@ -773,6 +779,39 @@ class TaskQueue:
return operations
def _cleanup_old_batches(self) -> None:
"""Clean up batch history files older than 90 days.
This is a best-effort cleanup that silently ignores any errors
to avoid disrupting normal operations.
"""
try:
cutoff = datetime.now() - timedelta(days=16)
cutoff_timestamp = cutoff.timestamp()
pattern = os.path.join(context.manager_batch_history_path, "batch_*.json")
removed_count = 0
import glob
for file_path in glob.glob(pattern):
try:
if os.path.getmtime(file_path) < cutoff_timestamp:
os.remove(file_path)
removed_count += 1
except Exception:
pass
if removed_count > 0:
logging.debug(
"[ComfyUI-Manager] Cleaned up %d old batch history files",
removed_count,
)
except Exception:
# Silently ignore all errors - this is non-critical functionality
pass
task_queue = TaskQueue()