我想在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