Skip to content

Commit

Permalink
feat(framework:skip) Add delete node on shutdown (#3524)
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesbvll authored May 29, 2024
1 parent 91d3cb9 commit c0f2379
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
7 changes: 7 additions & 0 deletions src/py/flwr/client/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ def _load_client_app() -> ClientApp:
run_tracker = _RunTracker()

def _on_sucess(retry_state: RetryState) -> None:
run_tracker.is_connected = True
if retry_state.tries > 1:
log(
INFO,
Expand All @@ -279,6 +280,7 @@ def _on_sucess(retry_state: RetryState) -> None:
run_tracker.create_node()

def _on_backoff(retry_state: RetryState) -> None:
run_tracker.is_connected = False
if retry_state.tries == 1:
log(WARN, "Connection attempt failed, retrying...")
else:
Expand Down Expand Up @@ -426,6 +428,10 @@ def _on_backoff(retry_state: RetryState) -> None:
sleep_duration = 0
break

# Unregister node
if delete_node is not None and run_tracker.is_connected:
delete_node() # pylint: disable=not-callable

if sleep_duration == 0:
log(INFO, "Disconnect and shut down")
del run_tracker
Expand Down Expand Up @@ -605,6 +611,7 @@ def _init_connection(transport: Optional[str], server_address: str) -> Tuple[
class _RunTracker:
create_node: Optional[Callable[[], None]] = None
interrupt: bool = False
is_connected: bool = False

def register_signal_handler(self) -> None:
"""Register handlers for exit signals."""
Expand Down
5 changes: 0 additions & 5 deletions src/py/flwr/client/grpc_rere_client/connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,6 @@ def delete_node() -> None:
log(ERROR, "Node instance missing")
return

# Stop the ping-loop thread
ping_stop_event.set()
if ping_thread is not None:
ping_thread.join()

# Call FleetAPI
delete_node_request = DeleteNodeRequest(node=node)
retry_invoker.invoke(stub.DeleteNode, request=delete_node_request)
Expand Down

0 comments on commit c0f2379

Please sign in to comment.