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.
| Einstellung | Standard |
|---|---|
| Aktiviert | Ja |
| Taktintervall | 1 Minute |
| Gemeldete Fehler-Abkühlzeit | 15 Minuten |
| Aktives Benachrichtigungsziel | Gateway-Ereignisbus |
| Rollen-/Workspace-Labels | default / 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
- Ermitteln Sie das gewünschte Profil-Home über Profile.
- Sichern Sie dessen
config.yamlund bearbeiten Sie dann den Blockheartbeat. - Führen Sie
anyy doctorfür dasselbe Profil aus. - Starten Sie dessen Gateway mit
anyy gateway restartneu und prüfen Sie anschließendanyy heartbeat statusund 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
| Symptom | Prüfung |
|---|---|
Status bleibt unknown | Gateway für das gewünschte Profil prüfen und nach dem Start erneut prüfen |
Status ist ok, aber ein Cron-Auftrag ist fehlgeschlagen | cron_failed_jobs und Cron-Verlauf prüfen; ok beschreibt die Zustandsbeobachtung |
| Geänderte Abkühlzeit erzeugt keine Wiederholungsmeldung | Unveränderte Fehlersignaturen werden nicht erneut gesendet; Abkühlzeit ist keine wiederkehrende Erinnerung |
| Eine neue Meldung erscheint für denselben Auftrag | Die Zeit des letzten Laufs kann sich nach einer weiteren fehlgeschlagenen Ausführung geändert haben |
| Keine externe Nachricht kommt an | Heartbeat veröffentlicht derzeit nur an Gateway; für konfigurierte Kanalziele geplante Automatisierung verwenden |
| Eine Intervalländerung wirkt nicht | Gateway dieses Profils neu starten und gemeldetes Intervall prüfen |