flwr-nightly 1.21.0.dev20250813__py3-none-any.whl → 1.21.0.dev20250814__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- flwr/server/superlink/fleet/vce/backend/raybackend.py +3 -1
- flwr/server/superlink/fleet/vce/vce_api.py +6 -6
- flwr/simulation/app.py +2 -0
- {flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/METADATA +1 -1
- {flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/RECORD +7 -7
- {flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/WHEEL +0 -0
- {flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/entry_points.txt +0 -0
@@ -161,6 +161,7 @@ class RayBackend(Backend):
|
|
161
161
|
"Call the backend's `build()` method before processing messages."
|
162
162
|
)
|
163
163
|
|
164
|
+
future = None
|
164
165
|
try:
|
165
166
|
# Submit a task to the pool
|
166
167
|
future = self.pool.submit(
|
@@ -183,7 +184,8 @@ class RayBackend(Backend):
|
|
183
184
|
self.__class__.__name__,
|
184
185
|
)
|
185
186
|
# add actor back into pool
|
186
|
-
|
187
|
+
if future is not None:
|
188
|
+
self.pool.add_actor_back_to_pool(future)
|
187
189
|
raise ex
|
188
190
|
|
189
191
|
def terminate(self) -> None:
|
@@ -23,7 +23,6 @@ from concurrent.futures import ThreadPoolExecutor
|
|
23
23
|
from logging import DEBUG, ERROR, INFO, WARN
|
24
24
|
from pathlib import Path
|
25
25
|
from queue import Empty, Queue
|
26
|
-
from time import sleep
|
27
26
|
from typing import Callable, Optional
|
28
27
|
from uuid import uuid4
|
29
28
|
|
@@ -153,7 +152,7 @@ def add_messages_to_queue(
|
|
153
152
|
message_ins_list = state.get_message_ins(node_id=node_id, limit=1)
|
154
153
|
for msg in message_ins_list:
|
155
154
|
queue.put(msg)
|
156
|
-
|
155
|
+
f_stop.wait(0.1)
|
157
156
|
|
158
157
|
|
159
158
|
def put_message_into_state(
|
@@ -182,6 +181,7 @@ def run_api(
|
|
182
181
|
messageins_queue: Queue[Message] = Queue()
|
183
182
|
messageres_queue: Queue[Message] = Queue()
|
184
183
|
|
184
|
+
backend = None
|
185
185
|
try:
|
186
186
|
|
187
187
|
# Instantiate backend
|
@@ -236,16 +236,16 @@ def run_api(
|
|
236
236
|
log(ERROR, traceback.format_exc())
|
237
237
|
log(WARN, "Stopping Simulation Engine.")
|
238
238
|
|
239
|
-
# Manually trigger stopping event
|
240
|
-
f_stop.set()
|
241
|
-
|
242
239
|
# Raise exception
|
243
240
|
raise RuntimeError("Simulation Engine crashed.") from ex
|
244
241
|
|
245
242
|
finally:
|
243
|
+
# Manually trigger stopping event
|
244
|
+
f_stop.set()
|
246
245
|
|
247
246
|
# Terminate backend
|
248
|
-
backend
|
247
|
+
if backend is not None:
|
248
|
+
backend.terminate()
|
249
249
|
|
250
250
|
|
251
251
|
# pylint: disable=too-many-arguments,unused-argument,too-many-locals,too-many-branches
|
flwr/simulation/app.py
CHANGED
@@ -131,6 +131,7 @@ def run_simulation_process( # pylint: disable=R0913, R0914, R0915, R0917, W0212
|
|
131
131
|
flwr_dir = get_flwr_dir(flwr_dir_)
|
132
132
|
log_uploader = None
|
133
133
|
heartbeat_sender = None
|
134
|
+
run_status = None
|
134
135
|
|
135
136
|
while True:
|
136
137
|
|
@@ -279,6 +280,7 @@ def run_simulation_process( # pylint: disable=R0913, R0914, R0915, R0917, W0212
|
|
279
280
|
run_id=run.run_id, run_status=run_status_proto
|
280
281
|
)
|
281
282
|
)
|
283
|
+
run_status = None
|
282
284
|
|
283
285
|
# Clean up the Context if it exists
|
284
286
|
try:
|
{flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: flwr-nightly
|
3
|
-
Version: 1.21.0.
|
3
|
+
Version: 1.21.0.dev20250814
|
4
4
|
Summary: Flower: A Friendly Federated AI Framework
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: Artificial Intelligence,Federated AI,Federated Analytics,Federated Evaluation,Federated Learning,Flower,Machine Learning
|
{flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/RECORD
RENAMED
@@ -295,8 +295,8 @@ flwr/server/superlink/fleet/rest_rere/rest_api.py,sha256=mxWKwGpgHPqd7cGFqd2ASnR
|
|
295
295
|
flwr/server/superlink/fleet/vce/__init__.py,sha256=XOKbAWOzlCqEOQ3M2cBYkH7HKA7PxlbCJMunt-ty-DY,784
|
296
296
|
flwr/server/superlink/fleet/vce/backend/__init__.py,sha256=PPH89Yqd1XKm-sRJN6R0WQlKT_b4v54Kzl2yzHAFzM8,1437
|
297
297
|
flwr/server/superlink/fleet/vce/backend/backend.py,sha256=-wDHjgAy5mrfEgXj0GxkJI7lhEbgSUyPwmNAf9ZcDzc,2193
|
298
|
-
flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=
|
299
|
-
flwr/server/superlink/fleet/vce/vce_api.py,sha256=
|
298
|
+
flwr/server/superlink/fleet/vce/backend/raybackend.py,sha256=K0QRDshgKHv7BSMpalLB4FDyLmNFis8Xqo7GSAziOXY,7215
|
299
|
+
flwr/server/superlink/fleet/vce/vce_api.py,sha256=DYaXOfVUHxjKraxlfBlB7vxMmQZ_Swx2MVvBGnwu0I0,12946
|
300
300
|
flwr/server/superlink/linkstate/__init__.py,sha256=OtsgvDTnZLU3k0sUbkHbqoVwW6ql2FDmb6uT6DbNkZo,1064
|
301
301
|
flwr/server/superlink/linkstate/in_memory_linkstate.py,sha256=eNjjQp6dJ_Qz54fYeOZ9XFebbB_k9syhBB6N2rXRTsA,27891
|
302
302
|
flwr/server/superlink/linkstate/linkstate.py,sha256=TCLM9wZa2XGHs55B3LP9j5-WtUPhBjOUdMKQJELG2oY,13287
|
@@ -322,7 +322,7 @@ flwr/server/workflow/secure_aggregation/secagg_workflow.py,sha256=b_pKk7gmbahwyj
|
|
322
322
|
flwr/server/workflow/secure_aggregation/secaggplus_workflow.py,sha256=DkayCsnlAya6Y2PZsueLgoUCMRtV-GbnW08RfWx_SXM,29460
|
323
323
|
flwr/serverapp/__init__.py,sha256=HPvC_ZvMS7GCM7ALVrG_Wwm4bSDr4DZETeC561v3T9w,719
|
324
324
|
flwr/simulation/__init__.py,sha256=Gg6OsP1Z-ixc3-xxzvl7j7rz2Fijy9rzyEPpxgAQCeM,1556
|
325
|
-
flwr/simulation/app.py,sha256=
|
325
|
+
flwr/simulation/app.py,sha256=ZDDHNiObHVJ1tNatQHwX-c3icCl_-Bvn7q1kn37l0Pg,11163
|
326
326
|
flwr/simulation/legacy_app.py,sha256=nMISQqW0otJL1-2Kfd94O6BLlGS2IEmEPKTM2WGKrIs,15861
|
327
327
|
flwr/simulation/ray_transport/__init__.py,sha256=ogd-0AMv2U-wBZ1r3sHWaDIOIrVqr88Xi6C8o4Dviy0,734
|
328
328
|
flwr/simulation/ray_transport/ray_actor.py,sha256=JN3xTqFIr5Z750k92CcA_uavzOHhSWDwE2WCaecvpks,19147
|
@@ -388,7 +388,7 @@ flwr/supernode/servicer/__init__.py,sha256=lucTzre5WPK7G1YLCfaqg3rbFWdNSb7ZTt-ca
|
|
388
388
|
flwr/supernode/servicer/clientappio/__init__.py,sha256=7Oy62Y_oijqF7Dxi6tpcUQyOpLc_QpIRZ83NvwmB0Yg,813
|
389
389
|
flwr/supernode/servicer/clientappio/clientappio_servicer.py,sha256=nIHRu38EWK-rpNOkcgBRAAKwYQQWFeCwu0lkO7OPZGQ,10239
|
390
390
|
flwr/supernode/start_client_internal.py,sha256=z2o92MQKzTRB-AZTELROueZ2ZQYouu947hiU-WJ_oq4,20257
|
391
|
-
flwr_nightly-1.21.0.
|
392
|
-
flwr_nightly-1.21.0.
|
393
|
-
flwr_nightly-1.21.0.
|
394
|
-
flwr_nightly-1.21.0.
|
391
|
+
flwr_nightly-1.21.0.dev20250814.dist-info/METADATA,sha256=KK0K1YI5Crr4QpQ8bkTH7saJIbCO5VxJABBYCMtdVIg,15967
|
392
|
+
flwr_nightly-1.21.0.dev20250814.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
393
|
+
flwr_nightly-1.21.0.dev20250814.dist-info/entry_points.txt,sha256=hxHD2ixb_vJFDOlZV-zB4Ao32_BQlL34ftsDh1GXv14,420
|
394
|
+
flwr_nightly-1.21.0.dev20250814.dist-info/RECORD,,
|
{flwr_nightly-1.21.0.dev20250813.dist-info → flwr_nightly-1.21.0.dev20250814.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|