浏览代码

Merge pull request #711 from Avaiga/bugfix/orechestrator_init

🐛 Fix orchestrator being initialised at each call
Grégoire Marabout 1 年之前
父节点
当前提交
98a3fdfbb2

+ 2 - 0
taipy/core/_orchestrator/_orchestrator_factory.py

@@ -32,6 +32,8 @@ class _OrchestratorFactory:
 
     @classmethod
     def _build_orchestrator(cls) -> Type[_AbstractOrchestrator]:
+        if cls._orchestrator:
+            return cls._orchestrator  # type: ignore
         if util.find_spec(cls._TAIPY_ENTERPRISE_MODULE) is not None:
             cls._orchestrator = _load_fct(
                 cls._TAIPY_ENTERPRISE_CORE_ORCHESTRATOR_MODULE,

+ 1 - 0
tests/core/_orchestrator/test_orchestrator_factory.py

@@ -29,6 +29,7 @@ def test_build_orchestrator():
     with mock.patch("taipy.core._orchestrator._orchestrator_factory._OrchestratorFactory._build_dispatcher") as bd:
         with mock.patch("taipy.core._orchestrator._orchestrator._Orchestrator.initialize") as initialize:
             orchestrator = _OrchestratorFactory._build_orchestrator()
+            _OrchestratorFactory._build_orchestrator()  # Call it one more time!
             assert orchestrator == _Orchestrator
             assert _OrchestratorFactory._orchestrator == _Orchestrator
             initialize.assert_called_once()