Persist processing-log retention settings and wire cleanup defaults
This commit is contained in:
@@ -5,10 +5,15 @@ from datetime import UTC, datetime
|
||||
from pathlib import Path
|
||||
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.db.base import SessionLocal
|
||||
from app.models.document import Document, DocumentStatus
|
||||
from app.services.app_settings import read_handwriting_provider_settings, read_handwriting_style_settings
|
||||
from app.services.app_settings import (
|
||||
read_handwriting_provider_settings,
|
||||
read_handwriting_style_settings,
|
||||
read_processing_log_retention_settings,
|
||||
)
|
||||
from app.services.extractor import (
|
||||
IMAGE_EXTENSIONS,
|
||||
extract_archive_members,
|
||||
@@ -32,6 +37,17 @@ from app.services.storage import absolute_path, compute_sha256, store_bytes, wri
|
||||
from app.worker.queue import get_processing_queue
|
||||
|
||||
|
||||
def _cleanup_processing_logs_with_settings(session: Session) -> None:
|
||||
"""Applies configured processing log retention while trimming old log entries."""
|
||||
|
||||
retention = read_processing_log_retention_settings()
|
||||
cleanup_processing_logs(
|
||||
session=session,
|
||||
keep_document_sessions=int(retention.get("keep_document_sessions", 2)),
|
||||
keep_unbound_entries=int(retention.get("keep_unbound_entries", 80)),
|
||||
)
|
||||
|
||||
|
||||
def _create_archive_member_document(
|
||||
parent: Document,
|
||||
member_name: str,
|
||||
@@ -204,7 +220,7 @@ def process_document_task(document_id: str) -> None:
|
||||
document=document,
|
||||
payload_json={"status": document.status.value},
|
||||
)
|
||||
cleanup_processing_logs(session=session, keep_document_sessions=2, keep_unbound_entries=80)
|
||||
_cleanup_processing_logs_with_settings(session=session)
|
||||
session.commit()
|
||||
for child_id in child_ids:
|
||||
queue.enqueue("app.worker.tasks.process_document_task", child_id)
|
||||
@@ -239,7 +255,7 @@ def process_document_task(document_id: str) -> None:
|
||||
document=document,
|
||||
payload_json={"status": document.status.value},
|
||||
)
|
||||
cleanup_processing_logs(session=session, keep_document_sessions=2, keep_unbound_entries=80)
|
||||
_cleanup_processing_logs_with_settings(session=session)
|
||||
session.commit()
|
||||
return
|
||||
|
||||
@@ -330,7 +346,7 @@ def process_document_task(document_id: str) -> None:
|
||||
document=document,
|
||||
payload_json={"status": document.status.value},
|
||||
)
|
||||
cleanup_processing_logs(session=session, keep_document_sessions=2, keep_unbound_entries=80)
|
||||
_cleanup_processing_logs_with_settings(session=session)
|
||||
session.commit()
|
||||
return
|
||||
|
||||
@@ -362,7 +378,7 @@ def process_document_task(document_id: str) -> None:
|
||||
document=document,
|
||||
payload_json={"status": document.status.value},
|
||||
)
|
||||
cleanup_processing_logs(session=session, keep_document_sessions=2, keep_unbound_entries=80)
|
||||
_cleanup_processing_logs_with_settings(session=session)
|
||||
session.commit()
|
||||
return
|
||||
|
||||
@@ -540,5 +556,5 @@ def process_document_task(document_id: str) -> None:
|
||||
document=document,
|
||||
payload_json={"status": document.status.value},
|
||||
)
|
||||
cleanup_processing_logs(session=session, keep_document_sessions=2, keep_unbound_entries=80)
|
||||
_cleanup_processing_logs_with_settings(session=session)
|
||||
session.commit()
|
||||
|
||||
Reference in New Issue
Block a user