fix(PROJ-58): Lockfile gegen überlappende Cron-Batch-Läufe + update.sh synct Cron-Dateien
Root Cause für ausbleibende Lastsenkung: update.sh hat /etc/cron.d/archivmail nie auf den Server kopiert, daher fehlten die PROJ-58-Cronzeilen trotz aktivem batch_mode komplett. Jetzt kopiert update.sh die Cron-Datei und alle Wrapper-Skripte bei jedem Deploy automatisch ein. Zusätzlich: Wrapper-Skripte (analog mailpiler indexer.delta.sh) verhindern per Lockfile, dass sich Cron-Läufe bei großem Backlog überlappen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
c91eeac0a0
commit
46502abe75
@@ -46,15 +46,22 @@
|
||||
# dauerhaft und arbeitet alles sofort ab. Wer batch_mode nicht nutzt, kann
|
||||
# die beiden Zeilen einfach auskommentiert lassen.
|
||||
#
|
||||
# Die Jobs rufen Wrapper-Skripte auf (archivmail-index-pending.sh /
|
||||
# archivmail-ocr-reprocess.sh), die per PID-Lockfile unter /var/run/archivmail/
|
||||
# überlappende Läufe verhindern — analog zum mailpiler-Vorbild
|
||||
# (indexer.delta.sh mit MAINTMPFILE/DELTATMPFILE). Ohne diesen Schutz könnte
|
||||
# ein Lauf mit großem Backlog länger dauern als das Intervall und sich mit
|
||||
# dem nächsten Tick überlappen, was die Last-Glättung wieder aufheben würde.
|
||||
#
|
||||
# Anpassen: Intervall/Uhrzeiten unten nach Bedarf ändern (crontab-Syntax).
|
||||
# Die beiden Jobs sind bewusst leicht versetzt, damit Index- und OCR-Lauf
|
||||
# nicht exakt zeitgleich starten.
|
||||
|
||||
# Index-Backlog (indexed_at IS NULL) alle 15 Minuten verarbeiten
|
||||
*/15 * * * * root /opt/archivmail/archivmail index-pending --config /etc/archivmail/config.yml --limit 500 >> /var/log/archivmail/index-pending.log 2>&1
|
||||
*/15 * * * * root /usr/local/bin/archivmail-index-pending.sh >> /var/log/archivmail/index-pending.log 2>&1
|
||||
|
||||
# OCR-Backlog (ocr_status='pending') alle 15 Minuten, um 5 Min versetzt
|
||||
5,20,35,50 * * * * root /opt/archivmail/archivmail ocr-reprocess --config /etc/archivmail/config.yml --status pending --limit 500 >> /var/log/archivmail/ocr-reprocess.log 2>&1
|
||||
5,20,35,50 * * * * root /usr/local/bin/archivmail-ocr-reprocess.sh >> /var/log/archivmail/ocr-reprocess.log 2>&1
|
||||
|
||||
# ── Weitere Jobs (geplant, noch nicht implementiert) ────────────────────
|
||||
# 30 2 * * * archivmail /opt/archivmail/archivmail reindex # nächtlicher Voll-Reindex
|
||||
|
||||
Reference in New Issue
Block a user