Преглед на файлове

Merge pull request #711 from Avaiga/bugfix/orechestrator_init

🐛 Fix orchestrator being initialised at each call
Grégoire Marabout преди 1 година
родител
ревизия
98a3fdfbb2
променени са 2 файла, в които са добавени 3 реда и са изтрити 0 реда
  1. 2 0
      taipy/core/_orchestrator/_orchestrator_factory.py
  2. 1 0
      tests/core/_orchestrator/test_orchestrator_factory.py

+ 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()