Step Functions: 如何管理状态。运行时历史事件配额。

0

【以下的问题经过翻译处理】 我的一些步骤函数可能具有(非常)长的执行时间,因此达到历史事件的最大数量(25000)的风险是不可忽略的,我需要管理/跟踪我的步骤函数的故障。

我如何知道历史记录长度,并在必要时终止当前步骤函数,并开始另一个具有当前机器数据的步骤函数?

当然,我可以添加一个任务,并通过Lambda检索步骤函数历史记录并进行管理,但(因为在Lambda执行时间、数据传输和“浪费的历史事件转换”方面都是昂贵的)我想知道是否可以从步骤函数内部实现同样的功能:例如,如果历史长度大于24950,那么停止这个状态并启动另一个状态机的条件状态。

有什么提示吗?

profile picture
EXPERTE
gefragt vor 5 Monaten35 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 关于快速工作流,我只是指内部循环的操作,而不是整个状态机。

您是正确的,使用嵌套路由只是延迟了问题。如果您的状态机没有最大迭代次数,这是一个好的解决方案。

考虑到您的情况,我建议最好的方法是计数迭代次数。在每个循环中检查有多少事件被发射,当达到限制时,启动一个新的状态机。

另一种方法可能是使用EventBridge调度器。当需要启动一个执行时,您可以创建一个重复的调度,调用您的状态机。状态机只运行一次循环并退出。如果完成了,它会删除调度。这仅适用于等待状态以分钟为增量等待的情况。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen