Elastic Beanstalk Worker SQS-Daemon mit 504 Gateway Timeout nach 1 Minute

Ich habe einen Elastic Beanstalk-Worker, der jeweils nur eine Aufgabe ausführen kann, und die Ausführung dauert einige Zeit (von einigen Minuten bis hoffentlich weniger als 30 Minuten), sodass ich meine Aufgaben auf einem SQS in die Warteschlange stelle.

In meiner Arbeiterkonfiguration habe ich:

HTTP connections: 1
Visibility timeout: 3600
Error visibility timeout: 300

(On "Advanced")
Inactivity timeout: 1800

Das Problem ist, dass es anscheinend eine Zeitüberschreitung von 1 Minute gibt (auf nginx?), Die die "Zeitüberschreitung bei Inaktivität" überschreibt und eine Zeitüberschreitung von 504 (Gateway) zurückgibt.

Das kann ich in der Datei aws-sqsd.log finden:

2016-02-03T16:16:27Z init: initializing aws-sqsd 2.0 (2015-02-18)
2016-02-03T16:16:27Z start: polling https://sqs.eu-central-1.amazonaws.com/855381918026/jitt-publisher-queue
2016-02-03T16:23:36Z message: sent to %[http://localhost:80]
2016-02-03T16:24:36Z http-err: 1444d1ba-ecb5-46f8-82d6-d0bf19b91fad (1) 504 - 60.006
2016-02-03T16:28:54Z message: sent to %[http://localhost:80]
2016-02-03T16:29:54Z http-err: 1b7514d3-689a-4e8b-a569-5ef1ac32ed0c (1) 504 - 60.029
2016-02-03T16:29:54Z message: sent to %[http://localhost:80]
2016-02-03T16:29:54Z http-err: 1444d1ba-ecb5-46f8-82d6-d0bf19b91fad (2) 500 - 0.006
2016-02-03T16:33:49Z message: sent to %[http://localhost:80]
2016-02-03T16:34:49Z http-err: 3a43e80f-a8d3-46b2-b2a0-9d898ad4f2a6 (1) 504 - 60.023
2016-02-03T16:34:54Z message: sent to %[http://localhost:80]
2016-02-03T16:34:54Z http-err: 1b7514d3-689a-4e8b-a569-5ef1ac32ed0c (2) 500 - 0.004
2016-02-03T16:34:54Z message: sent to %[http://localhost:80]
2016-02-03T16:34:54Z http-err: 1444d1ba-ecb5-46f8-82d6-d0bf19b91fad (3) 500 - 0.003
2016-02-03T16:39:49Z message: sent to %[http://localhost:80]
2016-02-03T16:40:49Z http-err: 3a43e80f-a8d3-46b2-b2a0-9d898ad4f2a6 (2) 504 - 60.019

Einige Dinge sind hier sinnvoll, z. B. die 5-minütige Verzögerung, die jede Nachricht von der Zeit des 504/500 bis zum erneuten Senden der Aufgabe an den Worker benötigt (entspricht der 300-Sekunden-Konfiguration für das Zeitlimit für die Fehlersichtbarkeit). ).

Diese 500 Codes stimmen mit meiner aktuellen Logik überein: Der Arbeiter lehnt die Aufgabe ab, indem er eine 500 zurückwirft, wenn noch etwas läuft.

Ich habe viele Antworten zum Festlegen des Verbindungszeitlimits für Load Balancer erhalten, aber da dies ein Worker ist, der Nachrichten aus einer SQS-Warteschlange abruft, gibt es keinen Load Balancer.

Ist eine Idee, was ich tun soll, um diese 1-Minuten-Zeitüberschreitungseinstellung zu überschreiben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage