From abf5d7b041121c6716045251709e1ee5dbed50f7 Mon Sep 17 00:00:00 2001 From: Ethan Harris Date: Fri, 9 Dec 2022 21:50:09 +0000 Subject: [PATCH 1/4] Dont try to update an instance that isnt running yet --- src/lightning_app/components/serve/streamlit.py | 1 + src/lightning_app/utilities/app_helpers.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lightning_app/components/serve/streamlit.py b/src/lightning_app/components/serve/streamlit.py index 1a325d60fecee..9b943a1708fa3 100644 --- a/src/lightning_app/components/serve/streamlit.py +++ b/src/lightning_app/components/serve/streamlit.py @@ -58,6 +58,7 @@ def run(self) -> None: ], env=env, ) + self._process.wait() def on_exit(self) -> None: if self._process is not None: diff --git a/src/lightning_app/utilities/app_helpers.py b/src/lightning_app/utilities/app_helpers.py index 665c50889676c..47386c7720dbe 100644 --- a/src/lightning_app/utilities/app_helpers.py +++ b/src/lightning_app/utilities/app_helpers.py @@ -19,7 +19,7 @@ import websockets from deepdiff import Delta -from lightning_cloud.openapi import AppinstancesIdBody, Externalv1LightningappInstance +from lightning_cloud.openapi import AppinstancesIdBody, Externalv1LightningappInstance, V1LightningappInstanceState import lightning_app from lightning_app.utilities.exceptions import LightningAppStateException @@ -556,7 +556,10 @@ def _handle_is_headless(app: "LightningApp"): "App was not found. Please open an issue at https://github.com/lightning-AI/lightning/issues." ) - if current_lightningapp_instance.spec.is_headless == app.is_headless: + if any( + current_lightningapp_instance.spec.is_headless == app.is_headless, + current_lightningapp_instance.status.phase != V1LightningappInstanceState.RUNNING, + ): return current_lightningapp_instance.spec.is_headless = app.is_headless From 224ba23baeec6dcbc55d5a7de3e48d87e7ee6493 Mon Sep 17 00:00:00 2001 From: Ethan Harris Date: Fri, 9 Dec 2022 21:57:51 +0000 Subject: [PATCH 2/4] Fix --- src/lightning_app/core/app.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/lightning_app/core/app.py b/src/lightning_app/core/app.py index d9389ecd27e24..47055c70f7f4b 100644 --- a/src/lightning_app/core/app.py +++ b/src/lightning_app/core/app.py @@ -526,14 +526,11 @@ def _update_layout(self) -> None: component._layout = layout def _update_is_headless(self) -> None: - is_headless = _is_headless(self) + self.is_headless = _is_headless(self) # If `is_headless` changed, handle it. # This ensures support for apps which dynamically add a UI at runtime. - if self.is_headless != is_headless: - self.is_headless = is_headless - - _handle_is_headless(self) + _handle_is_headless(self) def _apply_restarting(self) -> bool: self._reset_original_state() From 73d46bd67398dbaf65864c81e5230e1dbefe5392 Mon Sep 17 00:00:00 2001 From: Ethan Harris Date: Fri, 9 Dec 2022 22:04:15 +0000 Subject: [PATCH 3/4] Update src/lightning_app/utilities/app_helpers.py --- src/lightning_app/utilities/app_helpers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lightning_app/utilities/app_helpers.py b/src/lightning_app/utilities/app_helpers.py index 47386c7720dbe..03d4977c3b966 100644 --- a/src/lightning_app/utilities/app_helpers.py +++ b/src/lightning_app/utilities/app_helpers.py @@ -556,10 +556,10 @@ def _handle_is_headless(app: "LightningApp"): "App was not found. Please open an issue at https://github.com/lightning-AI/lightning/issues." ) - if any( + if any([ current_lightningapp_instance.spec.is_headless == app.is_headless, current_lightningapp_instance.status.phase != V1LightningappInstanceState.RUNNING, - ): + ]): return current_lightningapp_instance.spec.is_headless = app.is_headless From a4bba6bb8293cbcc9b963feaaa29a8069c5d51a9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 9 Dec 2022 22:05:32 +0000 Subject: [PATCH 4/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/lightning_app/utilities/app_helpers.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lightning_app/utilities/app_helpers.py b/src/lightning_app/utilities/app_helpers.py index 03d4977c3b966..83b78e1929aa5 100644 --- a/src/lightning_app/utilities/app_helpers.py +++ b/src/lightning_app/utilities/app_helpers.py @@ -556,10 +556,12 @@ def _handle_is_headless(app: "LightningApp"): "App was not found. Please open an issue at https://github.com/lightning-AI/lightning/issues." ) - if any([ - current_lightningapp_instance.spec.is_headless == app.is_headless, - current_lightningapp_instance.status.phase != V1LightningappInstanceState.RUNNING, - ]): + if any( + [ + current_lightningapp_instance.spec.is_headless == app.is_headless, + current_lightningapp_instance.status.phase != V1LightningappInstanceState.RUNNING, + ] + ): return current_lightningapp_instance.spec.is_headless = app.is_headless