Gunicorn: Gunicorn v 19 gibt eine Zeitüberschreitung für die HTTP-Abrufanforderung von Flask an, deren Ausführung einige Zeit in Anspruch nimmt

Erstellt am 27. Apr. 2019  ·  4Kommentare  ·  Quelle: benoitc/gunicorn

Version mit: 19.7
Docker-Befehl zum Starten des Servers:
CMD ["gunicorn", "--workers=2", "-b 0.0.0.0:8080","--keep-alive=900","--threads=3","--max-requests=5 ","--graceful-timeout=900", "--log-level=DEBUG","executorengine. wsgi:app "]

Fehlerdetails :
Worker-Thread für kritische Zeitüberschreitung



502 Bad Gateway


Der Server hat eine ungültige oder unvollständige Antwort zurückgegeben.

Cosole-Protokolle

NFO:root :DONE:: Schrittoperation mit Details ausführen ::

| INFO:root :Start:: Rest GET-Methode auf externem System aufgerufen

Vor vollständiger Aktion unten kommen neue Arbeiter :)

| [2019-04-27 10:11:00 +0000] [17] [INFO] Booting worker with pid: 17

Hilfreichster Kommentar

Wenn jemand mit dem gleichen Problem konfrontiert ist, verwenden Sie bitte die folgende Konfiguration

**

  • [ ] CMD ["gunicorn", "--workers=2", "-b 0.0.0.0:8080","--timeout=400","--threads=2", "-k=gevent"," --log-level=INFO","

**

Ausführungsmaschine. wsgi:app "]

Alle 4 Kommentare

Wenn ich das richtig verstehe, sagen Sie, dass Sie eine eingehende HTTP-Anfrage an Gunicorn haben. Wenn Sie diese Anfrage verarbeiten, stellen Sie wiederum eine HTTP-Anfrage an ein externes System, und diese Anfrage dauert so lange, dass Ihr Worker das Zeitlimit überschreitet (das externe System antwortet nicht, bevor Ihr Worker das Zeitlimit überschreitet).

Wenn das so ist, dann fallen mir zwei Möglichkeiten ein:

1) Erhöhen Sie Ihr Worker-Timeout
2) Verwenden Sie einen asynchronen Worker wie gevent , damit Ihre externe Anfrage kein Worker-Timeout verursacht.

@ vaibhavpatil123 können Sie eventuell auch den Master ausprobieren, da cf8ac37ce41e530cc154f2c7cbccd84ccad4c242 zusammengeführt wurde.

Lass uns wissen

Endlich kann ich mein Problem beheben und jetzt geht meine Anfrage mit der folgenden Konfiguration über den Flask-Server.

CMD ["gunicorn", "--workers=2", "-b 0.0.0.0:8080"," --timeout=400","--threads=2", "-k=gevent" ,"-- log-level=INFO","executorengine.wsgi :app "]

Wenn jemand mit dem gleichen Problem konfrontiert ist, verwenden Sie bitte die folgende Konfiguration

**

  • [ ] CMD ["gunicorn", "--workers=2", "-b 0.0.0.0:8080","--timeout=400","--threads=2", "-k=gevent"," --log-level=INFO","

**

Ausführungsmaschine. wsgi:app "]

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen