Zum Hauptinhalt springen

Heartbeat

Heartbeat ist eine leichtgewichtige, vom Gateway verwaltete Zustandsschleife für ein Profil. Es erfasst regelmäßig den Zustand und prüft bei aktivierten Cron-Aufträgen den letzten Lauf auf Fehler. Es führt nicht bei jedem Takt einen Assistentenprompt oder Modellaufruf aus.

Was wann läuft​

Gateway zeichnet beim Start einen Takt auf. Bei Aktivierung fährt es im konfigurierten Intervall fort; bei Deaktivierung speichert es den deaktivierten Zustand und startet keine Wiederholungsschleife. Heartbeat ist von Cron getrennt und erscheint nicht in dessen Auftragsliste.

EinstellungStandard
AktiviertJa
Taktintervall1 Minute
Gemeldete Fehler-Abkühlzeit15 Minuten
Aktives BenachrichtigungszielGateway-Ereignisbus
Rollen-/Workspace-Labelsdefault / default

Ein gesunder Takt sendet keine Nachricht. Heartbeat vergleicht fehlgeschlagene Aufträge anhand Auftrags-ID und Zeit des letzten Laufs. Es meldet eine neu beobachtete Fehlersignatur einschließlich eines neuen fehlgeschlagenen Laufs desselben Auftrags und wiederholt einen unveränderten Fehler nicht allein wegen verstrichener Zeit.

In v0.1.107 wird failure_cooldown geladen und im Status angezeigt, der Detektor verwendet jedoch geänderte Fehlersignaturen. Das Feld verzögert keinen neu geänderten Fehler und plant keine wiederholten Erinnerungen für einen unveränderten. Heartbeat durchsucht aktivierte Cron-Aufträge im ganzen Profil; seine Rollen-/Workspace-Labels filtern diese Suche nicht.

Status prüfen​

anyy heartbeat status
anyy heartbeat status --json

Das Ergebnis enthält Aktivierung, Status, Intervall, gemeldete Abkühlzeit, Rolle, Workspace, Zustellziele, Anzahl fehlgeschlagener Cron-Aufträge und letzte Taktzeit. Verwenden Sie durchgehend dasselbe Profil, etwa anyy --profile work heartbeat status.

Heartbeat erscheint auch in:

anyy status
anyy doctor

ok bedeutet, dass der Takt seine Beobachtung erfolgreich abgeschlossen hat; die Fehleranzahl steht unter cron_failed_jobs. Es bedeutet nicht, dass jeder Cron-Auftrag erfolgreich war. degraded zeigt einen Such- oder Benachrichtigungsfehler.

Heartbeat konfigurieren​

  1. Ermitteln Sie das gewünschte Profil-Home über Profile.
  2. Sichern Sie dessen config.yaml und bearbeiten Sie dann den Block heartbeat.
  3. Führen Sie anyy doctor für dasselbe Profil aus.
  4. Starten Sie dessen Gateway mit anyy gateway restart neu und prüfen Sie anschließend anyy heartbeat status und den nächsten Takt. Verwenden Sie für jeden Befehl dieselbe Auswahl --profile.
heartbeat:
enabled: true
tick_interval: 1m
failure_cooldown: 15m
delivery_targets:
- gateway
role_id: default
workspace_id: default

Verwenden Sie positive Go-Dauern wie 30s oder 5m als Intervall. Es gibt keinen öffentlichen Befehl heartbeat set oder manuellen heartbeat tick. Die Konfiguration wird beim Start der residenten Laufzeit gelesen; zum Anwenden eines geänderten Intervalls ist daher ein Neustart nötig.

Benachrichtigungszustellung​

Die aktuelle Laufzeitsenke verarbeitet nur das Ziel gateway. Sie veröffentlicht ein profilweites Live-Ereignis; es gibt keine Kanaladapterroute oder Sitzungszuordnung für diese Meldung. Ein Plattformname in delivery_targets konfiguriert kein Ziel, und Heartbeat-Meldungen gehören nicht zum gespeicherten Systembenachrichtigungsverlauf eines Gesprächs.

Öffnen Sie zur Untersuchung Dashboard → Cron, prüfen Sie den genannten Auftrag samt Ausführungsverlauf und beheben Sie die Ursache. Heartbeat beobachtet Fehler; es wiederholt oder repariert keine Aufträge. Bitten Sie Anyy, die Automatisierung erneut auszuführen, oder warten Sie den nächsten geplanten Lauf ab und prüfen Sie danach das Ergebnis.

Fehlerbehebung​

SymptomPrüfung
Status bleibt unknownGateway für das gewünschte Profil prüfen und nach dem Start erneut prüfen
Status ist ok, aber ein Cron-Auftrag ist fehlgeschlagencron_failed_jobs und Cron-Verlauf prüfen; ok beschreibt die Zustandsbeobachtung
Geänderte Abkühlzeit erzeugt keine WiederholungsmeldungUnveränderte Fehlersignaturen werden nicht erneut gesendet; Abkühlzeit ist keine wiederkehrende Erinnerung
Eine neue Meldung erscheint für denselben AuftragDie Zeit des letzten Laufs kann sich nach einer weiteren fehlgeschlagenen Ausführung geändert haben
Keine externe Nachricht kommt anHeartbeat veröffentlicht derzeit nur an Gateway; für konfigurierte Kanalziele geplante Automatisierung verwenden
Eine Intervalländerung wirkt nichtGateway dieses Profils neu starten und gemeldetes Intervall prüfen