如何使用异步twisted延迟事件触发python转换

2024-06-08 09:44:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我在FSM中使用python转换,它很好地处理了顺序事件和最近添加的超时特性。我的代码完全是基于txdbus(Twisted-based dbus event)的asyc代码,其中我对系统或硬件中的任何异步事件使用defer,代码在reactor循环中运行。在

现在,如果我启动转换状态,并根据条件调用一个函数,该函数在将来的时间内给出TRUE/False(最初返回一个延迟的,但实际上运行一个异步的调用,比如等待文件下载,并返回将来文件下载的成功/失败)

在这种情况下,如何维护状态机,并在反应堆回路的asyc功能返回时才转换到下一个状态。 (我试着在函数回调后设置状态,但没用)

任何人都使用过FSM转换,并且扭曲了(或者我让事情变得复杂了:)


Tags: 文件函数代码event顺序状态事件twisted