feat: [30388f42] Führe granulare Status-Trennung 'DELETED' und 'SKIPPED' ein

- Erweitert die JobQueue um die Methode mark_as_deleted.
- Passt den Worker an, um bei ContactNotFoundException (404) den Status DELETED zu vergeben.
- Verbessert das Logging für den Wackler-Filter.
- Aktualisiert das Dashboard-Styling für den neuen DELETED-Status.
This commit is contained in:
2026-03-06 13:19:30 +00:00
parent 4ccd9e2b63
commit fb2a27751c
3 changed files with 19 additions and 5 deletions

View File

@@ -130,6 +130,16 @@ class JobQueue:
(str(reason), job_id)
)
def mark_as_deleted(self, job_id, reason):
"""
Marks a job as DELETED (entity no longer exists in source system).
"""
with sqlite3.connect(DB_PATH) as conn:
conn.execute(
"UPDATE jobs SET status = 'DELETED', error_msg = ?, updated_at = datetime('now') WHERE id = ?",
(str(reason), job_id)
)
def fail_job(self, job_id, error_msg):
with sqlite3.connect(DB_PATH) as conn:
conn.execute(