我似乎找不到很好的解释,如果几个工人听相同的AWS步骤函数活动ARN会发生什么?我主要对机制感兴趣,因为我正在探索如何在倾听分步功能活动的过程中引入容错,这意味着如果一个工人失败了,另一个工人如何从活动任务中恢复松懈呢?
如果有定义的模式-请共享:)
谢谢!
发布于 2018-03-09 22:21:46
在另一次谈话中,我想我已经得到了这个问题的答案:
在一个情况下,在两个不同的AZs中有两个工人收听相同的活动ARN,其中一个AZ在AZ能够获得taskToken之前就下降了,其他的工人可以拿起它并开始这项任务。
在另一种情况下,如果AZ1中的工作人员选择了工作,而AZ1下降了--这个步骤最终会超时,但是对步骤的重试可能会迫使AZ2中的工作人员选择工作。
从某种意义上说,步骤函数活动是一个任务队列。
发布于 2018-03-09 01:43:43
在你的工人实施心跳,这样如果工人失败,它将得到了解的活动任务,并与其他工人,以抓住它。
运行时间较长的活动的状态应该提供一个心跳超时值,以验证该活动是否仍在成功运行。
您可以向任务发送心跳更新。
如果您的活动具有心跳超时值,则实现该值的工作人员必须向Step函数发送心跳更新。若要从工作人员发送心跳通知,请使用“SendTaskHeartbeat”操作。
如果此任务未能在其时间间隔内完成(如果指定的话),或者没有按定义的间隔发送心跳通知,则该任务被标记为“失败”。您可以定义重试策略来再次尝试它。
有关更多信息,请参阅AWS文档中的SendTaskHeartbeat部分。
https://stackoverflow.com/questions/49184254
复制相似问题