我想在AWS基础架构上运行进程作为守护进程,负责读取AWS SQS队列并进行一些过程。在AWS基础架构上将进程作为守护进程运行
我的第一种方法是使用部署在ECS Container服务上的Docker容器。所以我会在while true loop
上睡几秒钟。使用这个,我可以控制处理之间的睡眠时间,所以如果我的SQS队列已满,我可以减少睡眠时间。所以
我知道可以使用AWS Lambda作为cron作业,但我无法控制cron时间(减少或增加sqs大小的响应)。
AWS Lambda方法更简单,不需要“任何”基础架构,但灵活性较差。 有谁知道另一种方法?
您可以使用Lambda调度程序,并且在您的lambda处理程序中,您可以向SQS请求20条消息(我相信这是您一次可以获得的最大值)。如果它在完成之前获得所有20条消息,则使用aws-sdk('AWS.Lambda.invoke(context.functionName)')重新调用它自己。如果少于20条消息,那么它将在处理完这些消息后成功结束。 – idbehold