Verifagent-Heartbeat zu einem Python-Skript hinzufügen
Rufen Sie Verifagent am Ende des Skripts auf, nach der Arbeit, die erfolgreich sein muss. Stürzt der Prozess früher ab, ist das fehlende Heartbeat der Alarm.
Bevor Sie beginnen
Erstellen Sie einen Monitor mit der tatsächlichen Frequenz Ihres Workflows und kopieren Sie dann die URL aus dem Dashboard. Der Token ist geheim — veröffentlichen Sie ihn nicht.
Einrichtung
Monitor-URL kopieren
Erstellen Sie einen Monitor für den Zeitplan dieses Skripts. Bewahren Sie die URL in einer Umgebungsvariable auf, nicht in der Versionskontrolle.
https://verifagent.com/api/ping/your-ping-tokenVersion mit requests
Installieren Sie requests bei Bedarf (pip install requests). Werfen Sie bei Fehler, damit ein schlechter Ping den Prozess nach erfolgreicher Arbeit scheitern lässt — rufen Sie ping erst nach dem Arbeitsblock auf.
import os
import requests
PING_URL = os.environ["VERIFAGENT_URL"] # vollständige Monitor-URL
def main() -> None:
# 1) Echte Arbeit zuerst
do_work()
# 2) Heartbeat nur nach Erfolg
response = requests.get(PING_URL, timeout=15)
response.raise_for_status()
print(response.json()) # {"ok": true}
def do_work() -> None:
# Durch Ihren Job ersetzen
...
if __name__ == "__main__":
try:
main()
except Exception:
# Kein Ping bei Fehler — Verifagent bemerkt die Stille
raiseVersion mit urllib (ohne Abhängigkeit)
Gleiche Reihenfolge: Arbeit zuerst, dann GET. urllib ist in der Standardbibliothek.
import json
import os
import urllib.request
PING_URL = os.environ["VERIFAGENT_URL"]
def ping() -> None:
with urllib.request.urlopen(PING_URL, timeout=15) as resp:
body = json.load(resp)
if resp.status != 200 or body.get("ok") is not True:
raise RuntimeError(f"Unerwartete Ping-Antwort: {body!r}")
def main() -> None:
do_work()
ping()
def do_work() -> None:
...
if __name__ == "__main__":
main()Planen und prüfen
Exportieren Sie VERIFAGENT_URL, führen Sie das Skript einmal aus, erwarten Sie {"ok": true}. Binden Sie es an Cron oder systemd mit derselben Umgebung.
{"ok":true}Verfügbare Routen
Die Basis-URL reicht für einen Heartbeat. Varianten bereichern den Verlauf, wenn Ihre Plattform mehrere Zweige hat.
GET https://YOUR_PING_URLPOST https://YOUR_PING_URL/successPOST https://YOUR_PING_URL/fail?msg=ErrorPrüfen
Erfolgreicher Lauf setzt den Monitor auf Up. Erzwingen Sie eine Exception vor ping() und prüfen Sie, dass Verifagent für diesen Lauf nichts empfängt.
200 {"ok":true}. Der Monitor wechselt von Pending zu Up.