Planung, Cron, Daemon und Start
Dieses Dokument erklärt, wie Snoopy Jobs kontinuierlich ausführt und Neustarts überlebt.
Planungsmodell
- Scheduler:
node-cron - Jeder aktivierte Job registriert eine Cron-Aufgabe.
- Standardzeitplan beim Erstellen von Jobs:
*/30 * * * *(alle 30 Minuten).
Bei jedem Takt:
- Job wird aus der DB neu geladen.
- Wenn immer noch aktiviert, wird der Runner ausgeführt.
- Laufstatistiken werden in
job_runspersistiert. - Gescannte Elemente werden in
scan_itemsfür Deduplizierung und Prüfung persistiert.
Daemon-Lebenszyklus
Befehle:
snoopy daemon startsnoopy daemon stopsnoopy daemon statussnoopy daemon run
Verhalten:
daemon startstartet einen losgelösten Prozess und schreibt eine PID-Datei.- PID-Dateipfad:
<root>/daemon.pid. daemon statusüberprüft PID-Datei und Prozessaktivität.daemon runhält den Scheduler im Vordergrund und ist nützlich zum Debuggen.
Manuelle Läufe vs. Geplante Läufe
Manueller Lauf:
snoopy job run <jobRef> --limit 5
Manuelle Läufe sind ideal für:
- Schnelle Rubrikprüfungen
- Modellkonfigurationsvalidierung
- Smoke-Tests neuer Jobs
Geplante Läufe eignen sich am besten für kontinuierliche Überwachung, sobald einem Job vertraut wird.
Cron-Ausdrücke
jobs.schedule_cron unterstützt die von node-cron verwendete Standard-Cron-Syntax.
Beispiele:
*/30 * * * *alle 30 Minuten0 * * * *stündlich0 9 * * *täglich um 09:00
Start beim Neustart/Anmeldung
Snoopy unterstützt die OS-Startregistrierung.
Die Startregistrierung ist immer eine explizite Opt-in-Option. Snoopy konfiguriert sie nur, wenn Sie startup enable/install ausführen (oder sich während der Job-Einrichtung explizit für startup install entscheiden).
Befehle:
snoopy startup installsnoopy startup uninstallsnoopy startup enablesnoopy startup disablesnoopy startup status
Alias-Gruppe:
snoopy reboot enable|disable|status
macOS
Hauptmethode:
- launchd LaunchAgent
Statusprüfungen für:
~/Library/LaunchAgents/com.snoopy.daemon.plist
Linux
Bevorzugte Methode:
- systemd Benutzerservice (wenn verfügbar)
Fallback-Methode:
- cron
@reboot-Eintrag
Statusprüfungen:
- systemd-Service-Datei in
~/.config/systemd/user/ - crontab-Eintrag mit
snoopy daemon run
Windows
Bevorzugte Methode:
- Task Scheduler-Job
Statusprüfungen:
schtasks /query /tn "Snoopy\\Daemon"
Wenn die Task-Scheduler-Einrichtung fehlschlägt, gibt Snoopy einen Fehler zurück, anstatt still auf alternative Persistenzmechanismen zurückzugreifen.
Betriebsempfehlungen
- Während der Einrichtung: Führen Sie
snoopy doctornach dem Konfigurieren der Einstellungen aus. - Vor dem Aktivieren des Starts: Bestätigen Sie, dass
daemon startfunktioniert. - Nach der Neustart-Registrierung: Überprüfen Sie mit
startup statusunddaemon status. - Zum Debuggen lauter Jobs: Verwenden Sie manuelle Läufe mit
--limit.