我有一个Scala应用程序可以根据customer_id进行一些繁重的计算,我将客户ID放在SQS(Amazon Simple Queue Service)中,在ElastikBeansTalk上配置的应用程序使用来自SQS的msg。
我想根据来自SQS的消息扩展我的应用程序,问题是我的应用程序作为HTTP服务器运行,并在完成计算后返回200个代码,最少需要15分钟。
SQS最大超时为60秒,所以在此之后,所有消息都以死信队列结束,我尝试在完成计算之前发送200响应代码,但它从队列接收另一条消息并启动另一个进程。 / p>
有任何解决方案吗?
提前谢谢!
答案 0 :(得分:1)
最长VisibilityTimeout
为12小时。所以你可以把它放到30分钟,这应该涵盖你的情况。
答案 1 :(得分:0)
嗯,问题不是来自Akka HTTP Server或来自SQS,它来自默认的nginx conf。通过编辑默认的proxy_read_timeout 60s来解决问题。