Aufruf von URLFetch mit Anwendungsfehler 5 für URL x fehlgeschlagen

8

Hintergrund:

Ich verwende Google App Engine und habe einen seltsamen Bug in meinem Site-Crawler.

Ich habe ein Backend, das jede Nacht automatisch eine Site crawlt. Dies wird durch eine Aufgabe ausgelöst, die aufgrund von Zeitbeschränkungen in PHP auf eine pushQueue geschoben wird.

Problem:

Wenn ich das Skript manuell ausführe, das die Aufgabe erstellt, wird die Aufgabe wie erwartet ohne Fehler abgeschlossen. Wenn Cron die Aufgabe startet, erhalte ich den folgenden Fehler.

  

Aufruf an URLFetch ist fehlgeschlagen mit Anwendungsfehler 5 für URL x

Code:

%Vor%

Dank syslog kann ich sehen, dass die $ url in Ordnung ist, was mich verrückt macht, da es funktioniert, wenn das exakt gleiche Skript nicht manuell über cron gestartet wird.

Wie kann ich das beheben?

Vielen Dank im Voraus.

    
Grushton94 25.06.2015, 08:54
quelle

2 Antworten

4

"Anwendungsfehler 5" bedeutet, dass der Anfragetermin überschritten wurde.

Sie können die Frist für die Anfrage erhöhen, indem Sie die Option CURLOPT_TIMEOUT verwenden, damit Ihr Code etwa wie folgt aussieht:

%Vor%     
Stuart Langley 21.07.2015 00:42
quelle
1

EDIT: curl ist definitiv installiert, da Sie eine Anweisung haben, die es zuerst überprüft, so dass meine Antwort nicht mehr steht.

Die CURL-Fehlerliste Ссылка besagt, dass der Fehler 5 CURLE_COULDNT_RESOLVE_PROXY ist. Irgendwie kann deine Locke wahrscheinlich nicht auf das Internet zugreifen.

Die Einrollfunktion ist wahrscheinlich nicht für Ihre CLI-Umgebung aktiviert.

Überprüfen Sie die Konfiguration hier:

%Vor%     
Samvel Avanesov 20.07.2015 08:43
quelle