|
@@ -68,6 +68,7 @@ from ._adapters import (
|
|
|
_GuiCoreScenarioProperties,
|
|
|
_invoke_action,
|
|
|
)
|
|
|
+from ._utils import _ClientStatus
|
|
|
from .filters import CustomScenarioFilter
|
|
|
|
|
|
|
|
@@ -89,7 +90,7 @@ class _GuiCoreContext(CoreEventConsumerBase):
|
|
|
self.data_nodes_by_owner: t.Optional[t.Dict[t.Optional[str], t.List[DataNode]]] = None
|
|
|
self.scenario_configs: t.Optional[t.List[t.Tuple[str, str]]] = None
|
|
|
self.jobs_list: t.Optional[t.List[Job]] = None
|
|
|
- self.client_submission: t.Dict[str, SubmissionStatus] = {}
|
|
|
+ self.client_submission: t.Dict[str, _ClientStatus] = {}
|
|
|
# register to taipy core notification
|
|
|
reg_id, reg_queue = Notifier.register()
|
|
|
# locks
|
|
@@ -161,8 +162,8 @@ class _GuiCoreContext(CoreEventConsumerBase):
|
|
|
payload: t.Optional[t.Dict[str, t.Any]] = None
|
|
|
client_id: t.Optional[str] = None
|
|
|
try:
|
|
|
- last_status = self.client_submission.get(submission_id)
|
|
|
- if not last_status:
|
|
|
+ last_client_status = self.client_submission.get(submission_id)
|
|
|
+ if not last_client_status:
|
|
|
return
|
|
|
|
|
|
submission = t.cast(Submission, core_get(submission_id))
|
|
@@ -187,7 +188,7 @@ class _GuiCoreContext(CoreEventConsumerBase):
|
|
|
)
|
|
|
payload.update(tasks=running_tasks)
|
|
|
|
|
|
- if last_status is not new_status:
|
|
|
+ if last_client_status.submission_status is not new_status:
|
|
|
# callback
|
|
|
submission_name = submission.properties.get("on_submission")
|
|
|
if submission_name:
|
|
@@ -213,7 +214,7 @@ class _GuiCoreContext(CoreEventConsumerBase):
|
|
|
):
|
|
|
self.client_submission.pop(submission_id, None)
|
|
|
else:
|
|
|
- self.client_submission[submission_id] = new_status
|
|
|
+ last_client_status.submission_status = new_status
|
|
|
|
|
|
except Exception as e:
|
|
|
_warn(f"Submission ({submission_id}) is not available", e)
|
|
@@ -617,11 +618,10 @@ class _GuiCoreContext(CoreEventConsumerBase):
|
|
|
client_id=self.gui._get_client_id(),
|
|
|
module_context=self.gui._get_locals_context(),
|
|
|
)
|
|
|
+ client_status = _ClientStatus(self.gui._get_client_id(), None)
|
|
|
with self.submissions_lock:
|
|
|
- self.client_submission[submission_entity.id] = submission_entity.submission_status
|
|
|
+ self.client_submission[submission_entity.id] = client_status
|
|
|
if Config.core.mode == "development":
|
|
|
- with self.submissions_lock:
|
|
|
- self.client_submission[submission_entity.id] = SubmissionStatus.SUBMITTED
|
|
|
self.submission_status_callback(submission_entity.id)
|
|
|
_GuiCoreContext.__assign_var(state, error_var, "")
|
|
|
except Exception as e:
|