我正在尝试创建一个状态机,我想在其中构建重试和最大尝试功能。让我解释一下,到目前为止我有这个:
从SAVED,我想转到VALIDATED,虽然如果有错误,它必须进入AWAITING_VALIDATION状态。 3分钟后,再次尝试确认状态。
感谢您的帮助
答案 0 :(得分:1)
使用不同的机器配置可能有很多方法可以做这些事情,但话虽如此,这是一个明确提出的猜测,我想花一些时间在它上面。
你很亲密,你错过了一些事情(我会说技巧)来实现这一目标。答案是使用extended state variables
将内存添加到计算机中。这些变量通常用于限制所需的数量,以表示机器需要执行的操作。你需要3个循环,你可以根据需要创建更多状态来表示每个循环和过渡(使用特定的防护)。但是,如果你需要更多的循环,如10或20或100 +,这将简单地爆炸状态配置。
我在ssm-sample3中创建了一个示例,其中展示了如何使用extended state variables
和不同的guards
和actions
来推动此特定流程。
不幸的是,当前1.1.1.RELEASE
存在一个错误,导致您无法直接从AWAITING_VALIDATION
转换为HAS_ERROR
联结并循环,直到您使用匿名暂停VALID
具有保护的过渡(这就是为什么样本具有TMP
不需要的虚拟1.2.x
状态的原因。
这可能是我想作为示例或常见问题解答添加到我们的参考文档中。
Lemmy知道这是否有帮助。