2016-05-31 4 views
0

Wir hosten unseren Thumbor-Bild-Größenänderungsdienst auf Heroku, mit Bildspeicher in aws s3. Der Thumbor-Dienst greift über das aws-Plugin auf s3 zu. Kürzlich beobachten wir ein Verhalten auf unserem Thumbor-Service, das ich nicht verstehe.Thumbor auf Heroku verursacht Heroku Time out beim Abrufen von URL-Returns 404

Anwendungsfall: Unsere Clientanwendung hat eine Größenänderungsanforderung gesendet, um die Größe eines Bildes zu ändern, das in der aws S3 nicht vorhanden ist.

erwartetes Verhalten:

  1. der thumbor Service holt Bild in s3.
  2. s3 wird 404 nicht

  3. gefunden thumbor Rück 404 Heroku, kehrt der Router 404 zu Client-Anwendung.

, was wir beobachten: unter bestimmten Situation (ich kann dies konsequent nicht reproduzieren). s3 gibt 404 zurück aber Thumbor lässt den Heroku-Router nicht wissen. Als Ergebnis warten die Heroku 30 Sekunden und geben die Anfrage als 503-Zeit zurück.

Das fließende sind die Protokolle

2016-05-31T19: 38: 15,094468 + 00: 00 app [web.1]: 2016.05.31 19.38.15 thumbor: WARNING ERROR retrieving Bild von S3 [bucket]/3C6A3A84-F249-458B-9EFA-BF9BC863874B: { 'ResponseMetadata': { 'Httpstatuscode': 404 'RequestID': '3D61A8CBB187D846', 'HostId': 'C1qYC9Au42J0Salt1SVlCkcvcrKcQv4dltwOCdwGNF1TUFScWpkHb1qC ZBJ0JzVqQlXW0xONU ++ ='}, 'Fehler': {'Key': '[bucket]/3C6A3A84-F249-458B-9EFA-BF9BC863874B', 'Code': 'NoSuchKey', 'Nachricht': 'Der angegebene Schlüssel existiert nicht.'}}

2016-05-31T19: 38: 14.777549 + 00: 00 heroku [Router]: at = Fehlercode = H12 desc = "Timeout anfordern "method = GET Pfad ="/bALh_vgGXd7e_J7kZ0GhyE_lhZ0 =/150x150/[Eimer]/3C6A3A84-F249-458B-9EFA-BF9BC863874B "host = heroku.app.com request_id = 67d87ea3-8010-4fbe-8c29-b2b7298f1cbc fwd =" 54.162. 233.176,54.240.144.43" dyno = web.1 = 5ms Dienst verbinden = status = 503 Bytes = 0

30000ms ich wundere mich, wenn jemand helfen kann, warum thumbor hängt zu verstehen?

Vielen Dank im Voraus!

Antwort

0

Dieses Problem in der tc_aws-Bibliothek, die wir verwenden. Es führte Callback-Funktionen nicht aus, wenn 404 von S3 zurückgegeben wird. Wir waren in der Version 2.0.10. Nach dem Upgrade der Bibliothek wurde das Problem behoben.