Daemon SQS do Elastic Beanstalk Worker obtendo o tempo limite do gateway 504 após 1 minuto

Eu tenho um trabalhador do Elastic Beanstalk que só pode executar uma tarefa por vez e leva algum tempo para fazê-lo (de alguns minutos a, esperamos, menos de 30 minutos), então estou na fila de minhas tarefas em um SQS.

Na minha configuração de trabalhador, tenho:

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

(On "Advanced")
Inactivity timeout: 1800

O problema é que parece haver um tempo limite de 1 minuto (no nginx?) Que substitui o "Tempo limite de inatividade", retornando um 504 (Tempo limite do gateway).

Isto é o que posso encontrar no arquivo aws-sqsd.log:

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

Algumas coisas fazem sentido aqui, como o atraso de 5 minutos que cada mensagem leva do tempo do 504/500 até que a tarefa seja reenviada ao trabalhador mais uma vez (que corresponde à configuração de 300 segundos do "Tempo limite da visibilidade do erro") .

Esses 500 códigos correspondem à minha lógica atual: o trabalhador rejeita a tarefa devolvendo 500 se ainda houver algo em execução.

Eu já vi muitas respostas falando sobre a configuração da configuração do tempo limite da conexão do Load Balancer, mas, como esse é um trabalhador que está recebendo mensagens de uma fila SQS, não há nenhum Load Balancer.

Alguma idéia do que devo fazer para substituir essa configuração de tempo limite de 1 minuto?

questionAnswers(1)

yourAnswerToTheQuestion