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

如何生成x小时的SQS延迟队列

淳于健
2023-03-14

我需要一个队列来处理延迟x小时后的消息。并且我需要一个数据驱动的、所有基于事件的方法,不使用任何调度器等等。

场景是,我将一些实时数据发送到SNS主题,然后从那里发送到不同的SQS队列,由不同的AWS Lambda函数使用。

其中一个Lambda函数需要处理延迟3小时后的消息。不过,送货最长延迟15分钟。如果我第一次读取消息,它将自动从SQS中删除,因为我正在使用事件源映射触发器来调用lambda函数。

所以,我想知道如何避免删除消息,并使它在第一次被处理时不可见?

如有任何想法/帮助,将不胜感激。

共有1个答案

麻华辉
2023-03-14

Amazon SQS不会执行您所请求的操作。还有,我不建议做任何“花招”来迫使它延迟。

我建议您查看AWS步进函数。它可以编排AWS Lambda函数之间的交互,并且可以配置为在调用AWS Lambda函数之前等待(睡眠)一段时间。

 类似资料:
  • 本文向大家介绍kafka如何实现延迟队列?相关面试题,主要包含被问及kafka如何实现延迟队列?时的应答技巧和注意事项,需要的朋友参考一下 Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而是基于时间轮自定义了一个用于实现延迟功能的定时器(SystemTimer)。JDK的Timer和DelayQueue插入和删除操作的平均时间复杂度为O(nlog(n)),并不

  • 我有一系列应用程序使用来自SQS队列的消息。如果由于某种原因,这些消费者中的一个出现故障,并且停止使用消息,我希望得到通知。做这件事最好的方法是什么? 请注意,其中一些队列每2-3天只能将一条消息放入队列,因此等待队列中的消息数触发通知对我来说不是一个好的选择。 我正在寻找的是可以监视一个SQS队列并说“这个消息已经在这里一个小时了,什么都没有处理它……让某人知道。”

  • AWS SQS FIFO队列的批处理设置为1,延迟为1秒。收到的每个项目都与一个MessageGroup相关联。 队列同时接收10个不同消息组的30条消息,每个消息组包含3条消息。。。 一秒钟的延迟是否适用于队列级别,即30条消息需要30秒的传递时间? 还是队列会启动10个消费者,每个消息组一个,在3秒内清空队列?

  • 本文向大家介绍8085中产生时间延迟,包括了8085中产生时间延迟的使用技巧和注意事项,需要的朋友参考一下 在本节中,我们将看到如何使用8085程序生成时间延迟。该延迟将在不同的地方使用,以模拟时钟,计数器或其他区域。 当执行延迟子例程时,微处理器不执行其他任务。对于延迟,我们使用指令执行时间。在循环中执行一些指令,会产生延迟。有一些产生延迟的方法。这些方法如下。 使用NOP指令 使用8位寄存器作

  • 问题内容: 我正在尝试用Java做某事,而我需要一些东西在while循环中等待/延迟几秒钟。 我想构建一个步进音序器,并且对Java还是陌生的。有什么建议么? 问题答案: If you want to pause then use java.util.concurrent.TimeUnit: TimeUnit.SECONDS.sleep(1); TimeUnit.MINUTES.sleep(1);

  • 今天,我使用Spring Cloud Streams和RabbitMQ,根据本文档编写了以下代码: 我的接口: 和我的属性文件: