这是我的情况:
我当前的设计:
问题:
尝试解决方案:
说实话,在S3上使用标记文件来跟踪任务的进度有点奇怪。但是,它曾经起作用。
有什么建议吗?
谢谢!
答案 0 :(得分:1)
这听起来像是持久事件队列(特别是Kinesis)的完美应用。每个Lambda启动时,它会在Kinesis上生成一个“启动”事件。成功或失败时,它将生成适当的事件。如果您想查看进度进展情况,甚至可以沿途创建进度事件。
然后,您的服务器可以针对结束事件(成功或失败)监视开始事件的数目,直到这两个数目相等为止。它可以查询错误事件,以查看哪些进程失败以及为什么。所有服务器都可以查询相同的事件而不会互相干扰,任何服务器都可以关闭并恢复而不会丢失数据。
确保将原始密钥放在应该组合在一起的事件上,以免它们与后续事件混淆。另外,每个Lambda都应具有自己的密钥,以便您可以跟踪每个Lambda的进度。指导对此非常适合。