diff --git a/src/py/flwr/server/serverapp/app.py b/src/py/flwr/server/serverapp/app.py index 08506ad288d2..51d3e989d347 100644 --- a/src/py/flwr/server/serverapp/app.py +++ b/src/py/flwr/server/serverapp/app.py @@ -185,6 +185,12 @@ def run_serverapp( # pylint: disable=R0914, disable=W0212 run_status = RunStatus(Status.FINISHED, SubStatus.FAILED, str(ex)) finally: + # Stop log uploader for this run and upload final logs + if log_uploader: + stop_log_uploader(log_queue, log_uploader) + log_uploader = None + + # Update run status if run_status: run_status_proto = run_status_to_proto(run_status) driver._stub.UpdateRunStatus( @@ -193,11 +199,6 @@ def run_serverapp( # pylint: disable=R0914, disable=W0212 ) ) - # Stop log uploader for this run - if log_uploader: - stop_log_uploader(log_queue, log_uploader) - log_uploader = None - # Stop the loop if `flwr-serverapp` is expected to process a single run if run_once: break