好,所以我有几个用户希望同时执行一项任务。
任务是在lambda上执行的,需要花费几秒钟。
我想将任务的并行执行次数限制为3。
意思是如果10个用户同时调用它,则3个用户将运行3个任务,其余7个用户将进入等待队列。
一个用户的任务完成后,退出之前,在等待的队列中查找任务,从队列中提取另一个用户,并为该用户启动新任务(即发即忘),然后退出。
我需要确保没有执行重复,因此我将队列存储在小型服务器(在lightail中)和RAM中,但是我不确定这样做是否可以很好地扩展。
我可以通过无服务器方式拥有类似的工作流程吗?不确定使用SQS是否可以解决我的问题
答案 0 :(得分:0)
您所要求的可以通过SQS和Lambda来实现,只需这样: