当前位置: 首页 > 知识库问答 >
问题:

SQS消息延迟未按预期工作

易炳
2023-03-14

我试图发送个别的SQS消息延迟。使用https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-send-message-with-timer.html测试消息延迟,我没有看到任何延迟。

如果我在队列上设置了一个延迟,那么该延迟将被接受,但是对于单个消息则不会。我正在执行以下操作(全部来自AWS控制台):

  • 打开SQS控制台,右键单击我的测试队列-验证队列的延迟值是否为0
  • 右键单击测试队列,然后单击“发送消息”
  • 添加消息正文
  • 将“延迟发送此邮件”设置为30秒
  • 单击发送消息
  • 收到一封确认信,声明“您的邮件已发送,30秒后即可接收。”

然而,当我检查CloudWatch时,我可以看到消息几乎是立即发送的。我误解了什么,还是我错过了配置中的什么?

共有1个答案

贺宝
2023-03-14

我的测试表明,发送到Lambda函数用作触发器的SQS队列的消息将立即触发Lambda函数,即使提供了延迟设置。

请参阅:AmazonSQS-如何从lambda触发器向sqs返回消息-堆栈溢出

 类似资料:
  • 主要内容:1 load加载延迟消息数据,1.1 parseDelayLevel解析延迟等级,2 start启动调度消息服务,3 DeliverDelayedMessageTimerTask投递延迟消息任务,3.1 executeOnTimeup执行延迟消息投递,3.2 scheduleNextTimerTask下一个调度任务,3.3 correctDeliverTimestamp校验投递时间,3.4 messageTimeup恢复正常消息,,基于RocketMQ release-4.9.3,深入

  • 我正在使用spring Roo并希望访问Controller类中的一个bean,该类在ApplicationContext.xml中具有以下配置: 配置类本身是: 在我的Controller中,我认为一个简单的Autowired注释应该可以完成这项工作 在启动过程中,spring在setSkipWeeks方法中打印消息。不幸的是,每当我在控制器中调用config.getSkipWeeks()时,它

  • 当我运行以下程序时,它只打印 然而,从Java 8的equalsIgnoreCase文档中我们发现: 如果以下至少一项为真,则两个字符c1和c2被视为相同的忽略情况: •对每个字符应用java.lang.character.ToUpperCase(char)方法会产生相同的结果 所以我的问题是为什么这个程序不打印 在这两种操作中,都使用了大写字符。

  • 我试图使用来传输我根据前面的问题设置的自定义标头。 我在文件中读到... 我的属性包括:

  • 我正在和selenium一起工作,刮一些数据。 有一个按钮在页面上,我正在点击说“Custom_Cols”。这个按钮为我打开了一个窗口,我可以在那里选择我的列。 我的问题是为什么新窗口上的元素不可见,即使我正在等待元素的可见。补充一下,我已经尝试增加延迟时间,但我还是会偶尔出现这个错误。 我的密码在这里