Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 调度SQS消息_Amazon Web Services_Scheduled Tasks_Amazon Sqs - Fatal编程技术网

Amazon web services 调度SQS消息

Amazon web services 调度SQS消息,amazon-web-services,scheduled-tasks,amazon-sqs,Amazon Web Services,Scheduled Tasks,Amazon Sqs,我的用例如下:我需要能够以这样一种方式安排SQS消息,即可以在特定的日期/时间将安排好的消息添加到队列中,也可以根据需要定期添加到队列中 在实现层,我基本上希望做的是在我传递SQS队列、消息和调度时调用一些函数,而不必构建实际的调度逻辑 我在AWS中没有看到任何东西能够做到这一点,我也没有感觉到Lambda函数能够完全满足我的需要,除非我遗漏了什么 是否有其他第三方云服务用于我应该研究的预定流程,或者,我最好在AWS上运行一台调度机,并拥有一些REST API,可以向其中添加cron作业/win

我的用例如下:我需要能够以这样一种方式安排SQS消息,即可以在特定的日期/时间将安排好的消息添加到队列中,也可以根据需要定期添加到队列中

在实现层,我基本上希望做的是在我传递SQS队列、消息和调度时调用一些函数,而不必构建实际的调度逻辑

我在AWS中没有看到任何东西能够做到这一点,我也没有感觉到Lambda函数能够完全满足我的需要,除非我遗漏了什么


是否有其他第三方云服务用于我应该研究的预定流程,或者,我最好在AWS上运行一台调度机,并拥有一些REST API,可以向其中添加cron作业/windows调度任务,以处理SQS消息的调度?

我可以看到两种稍微不同的实现方法,都基于Cloudwatch。第一种方法是让Cloudwatch在Lambda上开火。Lambda要么具有所需的参数,要么从其他地方获取它们——例如,DynamoDB表。否则,规则目标允许您指定SQS队列-跳过Lambda。但我不确定它是否具有您想要的配置功能


无论哪种方式,请在AWS控制台中签出Cloudwatch->Events->Create Rule以查看您的选择。

AWS不支持延迟队列消息超过15分钟这样的基本功能,这让我很恼火

这就是我为您的确切用例构建API的原因:调度SQS消息。在您的情况下,您可以使用任意长的延迟调用我们提供的“schedule()”API,该API将在延迟时间发布到您的队列

这是5分钟,让您的第一条消息出来,我们有API的访问计划的消息,以及取消或编辑它们。我这里有一个原型:

如果您仍在寻找解决方案,请告诉我。我在工作中构建了一个调度器,用于大规模发送电子邮件,因此我有类似用例的经验