即使在处理第一条消息之前,AWS worker守护程序也会锁定多条消息

时间:2015-11-21 17:29:53

标签: python amazon-web-services flask amazon-sqs worker

我在AWS的工作层上部署了一个python-flask web应用程序。我将一些数据发送到关联的SQS队列,守护进程将POST请求中的请求数据转发到我的Web应用程序。 Web应用程序需要5分钟到6个小时来处理请求,具体取决于发布数据的大小。我还将worker应用程序配置为自动扩展组,以根据CPU利用率指标进行扩展。当我快速连续向队列发送2条消息时,两条消息都开始显示为正在进行中。我希望守护进程将第一条消息转发到Web应用程序,然后等待处理,然后再拔出第二条消息。与此同时,自动缩放将启动另一个实例(它是,但由于第二个消息也在飞行中,它无法提取该消息),新实例将拉动并处理第二个消息。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

  1. 将“工作伙伴配置”下的“HTTP连接”设置设置为1.这应该可以防止每个服务器一次收到多条消息。
  2. 您可能希望更改自动扩展配置以监控SQS队列深度或其他一些SQS指标而不是工作CPU利用率。