我想在AWS Infrastructure上运行一个守护进程,负责读取AWS SQS队列并进行一些处理。
我的第一种方法是使用部署在ECS Container服务上的docker容器。所以我将在while true loop
,睡觉几秒钟。使用它,我可以控制处理之间的休眠时间,所以如果我的SQS队列已满,我可以减少休眠时间。所以
我知道可以将AWS Lambda作为cron作业使用,但我无法控制cron时间(减小或增加sqs大小的响应)。
AWS Lambda方法更简单,不需要“任何”基础架构,但灵活性较低。 有谁知道另一种方法?
答案 0 :(得分:0)
查看AWS Lambda处理内部cron调度的方式(请参阅https://docs.aws.amazon.com/lambda/latest/dg/with-scheduled-events.html和http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/RunLambdaSchedule.html),您应该能够找到触发lambda并从lambda中修改它的Cloudwatch事件本身。 Lambda和Cloudwatch Events的程序化API的文档相当稀少,所以你必须为自己想出很多东西。
总而言之,听起来并不像运行自己的容器那样简单,但如果您有很多这样的事情要做,那么将它们全部打包到库中可能没什么坏处。