Zum Hauptinhalt springen

Betrieb

Protokollierung

  • Dateilogs: taegliche Logdateien im konfigurierten $logRoot
  • Dateiname: sfcontrol-YYYYMMDD.log
  • Aufbewahrung: 30 Tage (Loeschung erfolgt im Skript)
  • DB-Logtabelle: DocXtractor.SF_STACK_REPROCESS_LOG

Regelmaessige Kontrolle

Pruefe im Betrieb regelmaessig:

  • Wird die geplante Aufgabe wie erwartet ausgefuehrt?
  • Werden neue Eintraege in der Logdatei geschrieben?
  • Werden neue Eintraege in SF_STACK_REPROCESS_LOG erzeugt?
  • Gibt es wiederkehrende sfcontrol-Fehler (Exit-Code ungleich 0)?

Beispielabfragen

Geblockte Stacks identifizieren (>= 5 Versuche)

SELECT STACK_ID, COUNT(*) AS Attempts
FROM [DocXtractor].[SF_STACK_REPROCESS_LOG]
GROUP BY STACK_ID
HAVING COUNT(*) >= 5;

Letzte Reprocess-Laeufe anzeigen

SELECT TOP (100)
STACK_ID,
DOC_STATE,
SUBSYSTEM,
EXEC_TIME,
EXIT_CODE
FROM [DocXtractor].[SF_STACK_REPROCESS_LOG]
ORDER BY EXEC_TIME DESC;

Fehlerhafte Laeufe anzeigen (Exit-Code <> 0)

SELECT TOP (100)
STACK_ID,
DOC_STATE,
SUBSYSTEM,
EXEC_TIME,
EXIT_CODE
FROM [DocXtractor].[SF_STACK_REPROCESS_LOG]
WHERE EXIT_CODE <> 0
ORDER BY EXEC_TIME DESC;

Hinweise zur Fehleranalyse

  • SQL-Verbindung pruefen ($server, $database, Berechtigungen)
  • Pfad zu sfcontrol.exe pruefen ($exe)
  • Schreibrechte auf Log-Verzeichnis pruefen ($logRoot)
  • Task-Scheduler-Einstellung "Keine neue Instanz starten" verwenden, um Parallelstarts zu vermeiden