在 AutoKitteh,我們按原樣運行使用者的 Python 程式碼,以便在發生故障時重做部分執行。
這篇文章解釋了其中的魔力。
簡而言之,AutoKitteh 使用 Temporal 來運行使用者程式碼。它會取得使用者程式碼並將函數(例如 ml.enrich)轉換為臨時活動。使用者程式碼將函數呼叫從 event = ml.enrich(event) 變更為 event = _ak_call(ml.encrich, event) 其中 _ak_call 執行以下操作:
這個魔法是透過 AST 重寫實現的。
欲了解更多信息,請閱讀文章。
以上是破解 Python 導入系統並重寫 AST 以實現持久執行的詳細內容。更多資訊請關注PHP中文網其他相關文章!