我正在用 python 创建一个应用程序,它使用 pytransitions 作为有限状态机设计的基础。该应用程序必须在顺序单线程设计中为多达 700 个“客户端”提供服务,其中每个客户端都有自己的状态。我没有可用于通过 pickle 为所有 700 个客户端存储完整转储的存储空间,因此我想找到一种使用 pytransitions 的方法,其中我保存的只是所有事件处理后的 fsm 的最终状态。然后我将拥有一个 pytransitions fsm 的单个实例,但我需要能够将状态强制为“初始”以外的状态(显然我必须保存和恢复内部变量)。
我在 pytransitions api 中看不到任何明显的东西来做到这一点。我可以通过为每个实际状态设置一个带有“catchall”状态的“goto”转换处理程序来实现所需的效果,然后将其转换为所需的状态,但这似乎过于复杂。
请问有没有更简单的方法来强制使用pytransitions?