【问题标题】:Amazon SQS - Messages keep appearingAmazon SQS - 消息不断出现
【发布时间】:2018-06-04 16:04:26
【问题描述】:

我完全被困住了。我正在使用 SQS 在服务器到服务器之间进行通信。我在凌晨 3 点向队列中添加了一条消息“init_scrape”。我的服务器上的脚本每 5 分钟轮询一次队列,以检查队列上的消息并运行任务。这是我的电子邮件日志:

2013-07-29 03:05:01,857 INFO  Queue Messages Found: run_scrape init_scrape
2013-07-29 03:05:01,858 INFO  Init_Scrape Running
2013-07-29 03:22:45,055 INFO  init_scrape deleted from queue
2013-07-29 03:22:45,211 INFO  Queue Messages Found: run_scrape

此时,init_scrape 已从队列中移除,只剩下 run_scrape。绝对没有其他任何东西将 init_scrape 消息添加到队列中,但这是下一个日志:

2013-07-29 03:25:02,054 INFO  Queue Messages Found: run_scrape init_scrape
2013-07-29 03:25:02,055 INFO  Init_Scrape Running
2013-07-29 03:42:44,739 INFO  init_scrape deleted from queue
2013-07-29 03:42:44,879 INFO  Queue Messages Found: run_scrape

为什么我只将消息发送到队列一次,但即使我的脚本将其从队列中删除,它似乎也会突然出现?

编辑:这与 visibility_timeout 有关吗?

【问题讨论】:

  • 可能是一个愚蠢的问题,但是当它打印“init_scrape 从队列中删除”时,您是否在收到的消息 (init_scrape) 上调用 DeleteMessage?

标签: amazon-web-services amazon-sqs


【解决方案1】:

SQS 保证消息将被传递至少一次。他们不保证它不会交付很多次。 SQS 非常简洁,因为它可以扩展,但实际上你会发现一些奇怪的行为,因为它们是如何使其扩展的,比如这样的,以及消息被乱序传递,这对于那些不真正的项目来说有点麻烦需要规模。

猜你喜欢
  • 2014-11-10
  • 2016-03-05
  • 2015-09-09
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 2010-12-12
  • 2013-09-05
相关资源
最近更新 更多