在 AutoKitteh,我们按原样运行用户的 Python 代码,以便在出现故障时重做部分执行。
这篇文章解释了其中的魔力。
简而言之,AutoKitteh 使用 Temporal 来运行用户代码。它获取用户代码并将函数(例如 ml.enrich)转换为临时活动。用户代码将函数调用从 event = ml.enrich(event) 更改为 event = _ak_call(ml.encrich, event) 其中 _ak_call 执行以下操作:
这个魔法是通过 AST 重写实现的。
欲了解更多信息,请阅读文章。
以上是破解 Python 导入系统并重写 AST 以实现持久执行的详细内容。更多信息请关注PHP中文网其他相关文章!