Freigeben über


Problembehandlung bei Service Hooks

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Verwenden Sie diesen Artikel, um allgemeine Anleitungen zur Problembehandlung und Antworten auf häufig gestellte Fragen (FAQs) zu erhalten.

Anzeigen von Aktivitäten und Debuggen von Problemen

Auf der Seite "Service Hooks" im Webzugriffsadministrator werden Ihre letzten Aktivitäten (letzte 14 Tage) für jedes Abonnement und ob ein Abonnement aktiviert, deaktiviert oder eingeschränkt ist.

Sie können auf einen detaillierten Verlauf zu einem Abonnement zugreifen, einschließlich detaillierter Anforderungs-/Antwortdaten, die für das Debuggen eines problematischen Diensts oder Abonnements nützlich sind.

  1. Um die Aktivität und den Status Ihrer Abonnements anzuzeigen, wechseln Sie zur Seite "Service Hooks ".

    Screenshot der Ansicht der Aktivität und des Status von Abonnements.

  2. Wenn Sie detaillierte Aktivitäten für ein Abonnement anzeigen möchten, einschließlich vollständiger Anforderungs-, Antwort- und Ereignisnutzlastdaten, wählen Sie ein Abonnement in der Tabelle aus, und wählen Sie dann "Verlauf" aus.

    Screenshot der detaillierten Ansicht der Aktivität für ein Abonnement.

Abonnementfehler und Bewährung (eingeschränkt)

Fehlertypen

Fehler aus einer Service Hooks-Benachrichtigung sind in die folgenden Kategorien unterteilt:

  • Terminalfehler
  • Vorübergehende Fehler
  • Dauerhafte Fehler

Terminalfehler

Der einzige Terminalfehler ist HTTP-Statuscode 410 (nicht mehr vorhanden). Wenn ein Abonnement einen Terminalfehler sieht, wird es unabhängig vom vorherigen Status automatisch deaktiviert.

Vorübergehende Fehler

Wenn ein Abonnement einen vorübergehenden Fehler sieht, versucht es, die Benachrichtigung bis zu acht Mal erneut zu senden, wobei sich die Verzögerung zwischen jedem Versuch erhöht. Vorübergehende Fehler enthalten die folgenden Codes:

  • 408 (Anforderungstimeout)
  • 502 (Ungültiges Gateway)
  • 503 (Dienst nicht verfügbar)
  • 504 (Gatewaytimeout)

Sequenz von Wiederholungen für vorübergehende Fehler

Wiederholen # Wartezeit
Vor wiederholung 1 warten ~1 Sekunde
Vor wiederholung 2 Warten Sie ~2 Sekunden (Gesamtverzögerung von 3 Sekunden)
Vor wiederholung 3 warten ~4 Sekunden (Gesamtverzögerung von 7 Sekunden)
Vor wiederholung 4 warten ~8 Sekunden (Gesamtverzögerung von 15 Sekunden)
Vor wiederholung 5 warten ~16 Sekunden (Gesamtverzögerung von 31 Sekunden)
Vor wiederholung 6 warten ~32 Sekunden (Gesamtverzögerung von 63 Sekunden)
Vor wiederholung 7 Warten Sie ~60 Sekunden (max. Backoffzeit, Gesamtverzögerung von 123 Sekunden)
Vor wiederholung 8 warten ~60 Sekunden (max. Backoffzeit, Gesamtverzögerung von 183 Sekunden)

Wenn die Benachrichtigung alle Wiederholungen ausdutzt und für jeden Versuch weiterhin einen vorübergehenden Fehler anzeigt, versucht das Abonnement nicht mehr, die Benachrichtigung zu senden, und behandelt die Benachrichtigung so, als ob ein dauerhafter Fehler aufgetreten wäre.

Dauerhafte Fehler

Dauerhafte Fehler umfassen alle anderen HTTP-Fehlercodes, z. B. 404 (Nicht gefunden), 500 (Interner Serverfehler) usw.

Wenn ein Abonnement einen dauerhaften Fehler sieht, wird es zur Probe gestellt.

Probation

Während der Bewährung ist ein Abonnement in der Anzahl der Benachrichtigungen begrenzt, die er senden kann. Wenn das Abonnement weiterhin auf dauerhafte Fehler trifft, wird es zunehmend eingeschränkt und schließlich deaktiviert. Wenn das Abonnement während der Bewährung eine erfolgreiche Antwort erhält, wird es in einem voll aktivierten Zustand wiederhergestellt.

Sequenz von sieben maximalen Wiederholungsversuchen, während das Abonnement probiert wird

Wenn ein Abonnement probiert wird, gehen alle neuen Ereignisse verloren. Sobald eine Wiederholung erfolgreich ist, wird das Abonnement aktiviert, und Ereignisse werden erneut veröffentlicht.

Wiederholen # Wartezeit
Vor wiederholung 1 warten ~ 20 Minuten
Vor wiederholung 2 Warten Sie ca. 40 Minuten (Gesamtprobationszeit von 1 Stunde)
Vor wiederholung 3 Warten Sie ca. 1 Stunde 20 Minuten (Gesamtdauer von 2,33 Stunden)
Vor wiederholung 4 Warten Sie ~2 Stunden 40 Minuten (Gesamtdauer von 5 Stunden)
Vor wiederholung 5 Warten Sie ca. 5 Stunden 20 Minuten (Gesamtdauer von 10,33 Stunden)
Vor wiederholung 6 Warten Sie ca. 10 Stunden 40 Minuten (Gesamtbewährungszeit von 21 Stunden)
Vor wiederholung 7 Warten Sie ~15 Stunden (max. Backoffzeit, Gesamtbewährungszeit von 36 Stunden)

Nach sieben Wiederholungen wird der Abonnementstatus auf DisabledBySystem festgelegt, wenn die Benachrichtigung des Verbrauchers fehlschlägt.

Häufig gestellte Fragen

F: Was ist das Nutzlastlimit eines Service-Hooks?

A: Der Nutzlastgrenzwert beträgt 2 MB. Umfangreichere Nutzdaten führen zu Einbußen bei Leistung und Zuverlässigkeit. Als bewährte Methode sollten Service-Hooks die Nutzlast auf maximal 2 MB beschränken.

F: Was bedeutet der Status "Aktiviert" (eingeschränkt) ?

A: Ein Abonnement wird eingeschränkt, wenn zu viele Fehler auftreten. Aktiviert (eingeschränkt) ist identisch mit der Probation.

F: Was bedeutet der Status "Deaktiviert" (aufgrund von Fehlern)

A: Ein Abonnement wird automatisch deaktiviert, nachdem eine Reihe aufeinander folgender Fehler über einen längeren Zeitraum oder ein Terminalfehler aufgetreten ist. Vorübergehende Fehlertypen werden mehrmals wiederholt, bevor ein Fehler deklariert wird. Dauerhafte Fehlertypen werden nicht wiederholt. Im Folgenden sind Beispiele für jeden Fehlertyp aufgeführt.

  • Vorübergehend: 408 (Anforderungstimeout), 502 (Ungültiges Gateway), 503 (Dienst nicht verfügbar), 504 (Gatewaytimeout)
  • Terminal: 410 (nicht mehr vorhanden)
  • Dauerhaft: Alle Fehler, die nicht vorübergehend oder terminal sind

F: Was bedeutet der Status "Deaktiviert" (Projekt "Benutzer links")?

A: Der Benutzer, der das Abonnement erstellt hat, ist kein Mitglied des Teams mehr.

F: Was sollte ich versuchen, wenn ein Diensthaken nicht funktioniert?

A: Überprüfen Sie die folgenden Elemente:

  • Bestätigen, dass das Abonnement aktiviert ist

  • Bestätigen Sie, dass die Abonnementeinstellungen korrekt sind (sowohl Ereignisfilter als auch Aktionen)

  • Sehen Sie sich den Verlauf an, insbesondere, wenn Fehler auftreten

F: Kann ich einem regulären Projektbenutzer die Möglichkeit gewähren, Service Hook-Abonnements für ein Projekt anzuzeigen und zu verwalten?

A: Standardmäßig verfügen nur Projektadministratoren über diese Berechtigungen. Wenn Sie sie anderen Benutzern direkt erteilen möchten, können Sie das Befehlszeilentool oder die Sicherheits-REST-API verwenden.

F: Kann ich programmgesteuert Abonnements erstellen?

A: Ja, REST-APIs verwenden.