PHP: Wie kann man in Guzzle 4 nach einer Timeout-Ausnahme suchen?

9

Guzzle löst eine Ausnahme aus, wenn während der Anfrage ein Fehler aufgetreten ist. Leider scheint es keinen Timeout-spezifischen Fehler zu geben - was für mich wichtig ist, da ich weiß, dass diese gelegentlich auftreten können. Ich möchte die entsprechende Anfrage wiederholen und muss feststellen können, ob der Fehler aufgrund eines Zeitlimits aufgetreten ist.

Aus den Dokumenten :

%Vor%

Der RequestException hat die Info in seiner Eigenschaft message :

%Vor%

Ich könnte also das Nachrichtenmuster auswerten, aber das fühlt sich irgendwie falsch an, weil diese Nachrichten in Zukunft leicht geändert werden könnten.

Gibt es eine bessere / stabilere Möglichkeit, Zeitüberschreitungen bei der Verwendung von "guzzle 4" zu prüfen?

    
Hirnhamster 04.09.2014, 09:15
quelle

2 Antworten

1

Ich hatte das gleiche Problem, ich habe es mit dem Stoppen der Übertragung eines Ereignisses behoben. Sie können mehr über diese hier lesen.

%Vor%

In diesem Fall wird cURL error 28: Operation timed out after 3114 milliseconds with 0 bytes received ausgegeben, ohne dass ein RequestException geworfen wird.

    
user1480019 24.12.2014 20:06
quelle
-1

Die Ausnahme wird hier generiert:

Ссылка

%Vor%

Während dies eine private Funktion ist, haben Sie zwei Möglichkeiten:

  • klonen Sie die gesamte Datei, geben Sie ihr einen neuen Namen, verwenden Sie diese anstelle des CurlAdapter und werfen Sie eine andere Ausnahme als "AdapterException"
  • Bearbeiten Sie die Datei und werfen Sie eine andere Ausnahme als "AdapterException", aber in diesem Fall ist Ihr Guzzle nicht länger wartbar.
CyberLine 08.09.2014 09:56
quelle

Tags und Links