xoscar 0.4.3__cp39-cp39-win_amd64.whl → 0.4.4__cp39-cp39-win_amd64.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.

Potentially problematic release.


This version of xoscar might be problematic. Click here for more details.

Binary file
xoscar/backends/core.py CHANGED
@@ -208,6 +208,40 @@ class ActorCallerThreadLocal:
208
208
  _ = [task.cancel() for task in self._clients.values()]
209
209
 
210
210
 
211
+ def _cancel_all_tasks(loop):
212
+ to_cancel = asyncio.all_tasks(loop)
213
+ if not to_cancel:
214
+ return
215
+
216
+ for task in to_cancel:
217
+ task.cancel()
218
+
219
+ loop.run_until_complete(asyncio.gather(*to_cancel, return_exceptions=True))
220
+
221
+ for task in to_cancel:
222
+ if task.cancelled():
223
+ continue
224
+ if task.exception() is not None:
225
+ loop.call_exception_handler(
226
+ {
227
+ "message": "unhandled exception during asyncio.run() shutdown",
228
+ "exception": task.exception(),
229
+ "task": task,
230
+ }
231
+ )
232
+
233
+
234
+ def _safe_run_forever(loop):
235
+ loop.run_forever()
236
+ _cancel_all_tasks(loop)
237
+
238
+
239
+ def _safe_exit_thread(loop, thread):
240
+ # To avoid _enter_buffered_busy: could not acquire lock
241
+ loop.call_soon_threadsafe(loop.stop)
242
+ thread.join()
243
+
244
+
211
245
  class ActorCaller:
212
246
  __slots__ = "_thread_local"
213
247
 
@@ -215,9 +249,11 @@ class ActorCaller:
215
249
  pass
216
250
 
217
251
  _close_loop = asyncio.new_event_loop()
218
- _close_thread = threading.Thread(target=_close_loop.run_forever, daemon=True)
252
+ _close_thread = threading.Thread(
253
+ target=_safe_run_forever, args=(_close_loop,), daemon=True
254
+ )
219
255
  _close_thread.start()
220
- atexit.register(_close_loop.call_soon_threadsafe, _close_loop.stop)
256
+ atexit.register(_safe_exit_thread, _close_loop, _close_thread)
221
257
 
222
258
  def __init__(self):
223
259
  self._thread_local = threading.local()
Binary file
xoscar/collective/uv.dll CHANGED
Binary file
Binary file
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xoscar
3
- Version: 0.4.3
3
+ Version: 0.4.4
4
4
  Summary: Python actor framework for heterogeneous computing.
5
5
  Home-page: http://github.com/xorbitsai/xoscar
6
6
  Author: Qin Xuye
@@ -1,5 +1,5 @@
1
1
  xoscar/__init__.py,sha256=dlwtB7dnDp5WME6CZVQY7d9lk1yJ9s___H5UxjGlAd4,1668
2
- xoscar/_utils.cp39-win_amd64.pyd,sha256=FFd9OHF1DlHakZ6yDteAogr772FTnd1M36h5HHEtHtU,117248
2
+ xoscar/_utils.cp39-win_amd64.pyd,sha256=StLM6Xtis16ldallUTuTxBceKNZyxqNmU9et-_6zZ3Q,117248
3
3
  xoscar/_utils.pxd,sha256=rlNbTg5lhXA-jCOLksqF4jhUlNn0xw2jx1HxdLa34pc,1193
4
4
  xoscar/_utils.pyx,sha256=5Wvind3AQ3JaMK7Zv9SjhiPO6LEol2hW7_fMncn69go,7300
5
5
  xoscar/_version.py,sha256=bsfCVAo_o9LkiP3AjPsP4SRRqhjuS0t4D1WGJPzbdls,24412
@@ -7,10 +7,10 @@ xoscar/api.py,sha256=B5oXv4vgMxMteh1YNaBmNFDrUFmYa_dCdzfaWwwZnCo,13820
7
7
  xoscar/backend.py,sha256=8G5JwjoOT6Q2slb11eXNApxgcmvNQUCdQzkoIMDwLcQ,1917
8
8
  xoscar/batch.py,sha256=Jk5BSpvMFAV9DrRy0a9tgPvIo_dt8cbJReZBL0cnOPc,8128
9
9
  xoscar/constants.py,sha256=GJ1KEOxwnqksc9K_GH42TSWpQECeC6ti3KJmE3PUcTw,810
10
- xoscar/context.cp39-win_amd64.pyd,sha256=76-7TUpyoo8cjEh3CKN3IZ_jCEtMGz2fLQ9YqvsrBWI,158720
10
+ xoscar/context.cp39-win_amd64.pyd,sha256=wKtGaK7r1fhylAuRGF_U3nUmdu0KAgkevyzW5nicfuw,158720
11
11
  xoscar/context.pxd,sha256=6n6IAbmArSRq8EjcsbS6npW8xP1jI0qOoS1fF0oyj-o,746
12
12
  xoscar/context.pyx,sha256=FOJVerGOvxe2USryXEQA0rpaFX_ScxISH6QWKUcahY8,11310
13
- xoscar/core.cp39-win_amd64.pyd,sha256=DxPbFOMnDiZZU6rT7qwin6JrcUnfsK09XZZ1YBLiMnU,334336
13
+ xoscar/core.cp39-win_amd64.pyd,sha256=r586Kjkrbon7zZfZGty8w4i0qikAmdzcbh6WMqoBBxY,334336
14
14
  xoscar/core.pxd,sha256=dGv62H92PFG98SVILuF641kY-NWFEt1FYqqOX3WY5RQ,1330
15
15
  xoscar/core.pyx,sha256=0YvJW2AHgymyfsAlPGvIFw65J5gTKO3PK2p1wl4VlJ0,22388
16
16
  xoscar/debug.py,sha256=hrmxIH6zvTKasQo6PUUgXu5mgEsR0g87Fvpw7CoHipg,5257
@@ -29,8 +29,8 @@ xoscar/backends/__init__.py,sha256=g9OllTquu9MRB5nySVoyiRv2z-_OSALWrOhwt7L9WXc,6
29
29
  xoscar/backends/allocate_strategy.py,sha256=DzvTlixwzTANURI2mDLHm3vcaugSPDxU6UQZb89KH0U,5005
30
30
  xoscar/backends/config.py,sha256=7nmvU_19zYR7n-bT8BNasbjntwmobmMiM7wN7O6Lujc,5129
31
31
  xoscar/backends/context.py,sha256=NukXzBwq9ZwuiN1y6RE1hfNGsW589hDtJAVwu-DV9E0,15874
32
- xoscar/backends/core.py,sha256=UBgPX-9ZdC2b6Ci5dGowlqdp1Sb2JU9ULYOhHkd9wOQ,9623
33
- xoscar/backends/message.cp39-win_amd64.pyd,sha256=IomY97q4oiL6LGLCxUN0Zw5x5lW6jW48lsmQrdv8yc4,268800
32
+ xoscar/backends/core.py,sha256=NqzvYyd6E18osehrMdDC4JWrrED4HArKhUZv0_gV3AA,10541
33
+ xoscar/backends/message.cp39-win_amd64.pyd,sha256=1CQY1fuJxKe9jw2XT5XS38-WQRSwNkW90KePjT-TUEI,268800
34
34
  xoscar/backends/message.pyx,sha256=23j-fjxOVONPWY0-C5sfCOMbZCx4PTxN0GU8YfrLNeg,18529
35
35
  xoscar/backends/pool.py,sha256=nh2DTrcOrZc75TG2v7MXeGLMLhEO4GsObD7zirymZ3c,61445
36
36
  xoscar/backends/router.py,sha256=GJpSV_LhzINHdTp5jtsMHfPNMkNb1KI-WlqGqhwApGU,7953
@@ -54,8 +54,8 @@ xoscar/collective/common.py,sha256=9c7xq3IOUvfA0I9GnpalUqXZOzmF6IEILv4zL64BYVE,3
54
54
  xoscar/collective/core.py,sha256=191aPxbUgWpjzrqyozndImDAQhZFmqoQdBkHFLDfXN0,24239
55
55
  xoscar/collective/process_group.py,sha256=kTPbrLMJSGhqbiWvTIiz-X3W0rZWd_CFn_zUIlXbOlM,23286
56
56
  xoscar/collective/utils.py,sha256=p3WEVtXvnVhkuO5mRgQBhBRFr1dKHcDKMjrbMyuiyfg,1219
57
- xoscar/collective/uv.dll,sha256=r0EqFH4Q-ae4ruaT8tBL07fQT962_YhxL25R6bwsocs,620544
58
- xoscar/collective/xoscar_pygloo.cp39-win_amd64.pyd,sha256=e0Fgk3HD1EnswaD9OjQ2Nn79PiCgxiRM6poGN_J7Cus,775168
57
+ xoscar/collective/uv.dll,sha256=chwIR8xjZGh5GXyH4X6S9kTiTBuxd4hCYL4JQebo0KE,620544
58
+ xoscar/collective/xoscar_pygloo.cp39-win_amd64.pyd,sha256=Q1Lc22ruUfk0MLRDq8Kc3Wd90oEurfz-f7DSOFhTC2o,775168
59
59
  xoscar/metrics/__init__.py,sha256=RjXuuYw4I2YYgD8UY2Z5yCZk0Z56xMJ1n40O80Dtxf8,726
60
60
  xoscar/metrics/api.py,sha256=dtJ4QrIqQNXhJedeqOPs4TXKgrRGZFFN50xAd9SCfec,9144
61
61
  xoscar/metrics/backends/__init__.py,sha256=ZHepfhCDRuK9yz4pAM7bjpWDvS3Ijp1YgyynoUFLeuU,594
@@ -66,7 +66,7 @@ xoscar/metrics/backends/prometheus/__init__.py,sha256=ZHepfhCDRuK9yz4pAM7bjpWDvS
66
66
  xoscar/metrics/backends/prometheus/prometheus_metric.py,sha256=65hb8O3tmsEJ7jgOrIwl_suj9SE5Tmqcfjuk0urkLvE,2120
67
67
  xoscar/serialization/__init__.py,sha256=NOAn046vnHEkx--82BKNinV8EpyOfT5hqfRBGnKl56s,866
68
68
  xoscar/serialization/aio.py,sha256=7YLXgkWpQ3ANy-TZ1qO8Mt4_J3cZFhFh2FEgUgxMT60,4873
69
- xoscar/serialization/core.cp39-win_amd64.pyd,sha256=FFRO3EB7jb_z5pq16gIb8neIVFLTwYF20vVwMjlv2po,298496
69
+ xoscar/serialization/core.cp39-win_amd64.pyd,sha256=ANXstak8mg0uUc2FsUAmfGvHZmYC_80Fn1TYJkVwzpg,298496
70
70
  xoscar/serialization/core.pxd,sha256=X-47bqBM2Kzw5SkLqICdKD0gU6CpmLsBxC3kfW--wVk,1013
71
71
  xoscar/serialization/core.pyx,sha256=ZKexLRnRwZXXn2045kR7xfM_szcoPNrDuouQCWtpFp8,30570
72
72
  xoscar/serialization/cuda.py,sha256=Fj4Cpr_YmkGceUCo0mQn8fRvmHP_5WcLdRx6epZ3RC0,3869
@@ -74,7 +74,7 @@ xoscar/serialization/exception.py,sha256=t6yZn_Ate04UE1RbabNh7mu739sdtwarjuPXWhA
74
74
  xoscar/serialization/numpy.py,sha256=C6WVx-Sdl2OHBAvVY34DFjAKXlekMbpc2ni6bR8wxYo,3001
75
75
  xoscar/serialization/pyfury.py,sha256=3ucal29Hr7PX9_1SfB2x43FE2xw_C0rLkVv3foL7qwM,1200
76
76
  xoscar/serialization/scipy.py,sha256=9ph-yoRoNiwUZTwQrn35U60VPirWlncXNAg6EXvqMR4,2554
77
- xoscar-0.4.3.dist-info/METADATA,sha256=9OJj9wwgu76by-N6gTxrPIjqkkpPSI_jFKMRAAqrc6Q,9265
78
- xoscar-0.4.3.dist-info/WHEEL,sha256=yA7mxgqX2UV73NtJdMh2AAmdb628loM81912H3s5r00,100
79
- xoscar-0.4.3.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
80
- xoscar-0.4.3.dist-info/RECORD,,
77
+ xoscar-0.4.4.dist-info/METADATA,sha256=TVxREQlvo2XkMKAI3IrlCGUhWuhkj95kRmJa9Hyzovs,9265
78
+ xoscar-0.4.4.dist-info/WHEEL,sha256=yA7mxgqX2UV73NtJdMh2AAmdb628loM81912H3s5r00,100
79
+ xoscar-0.4.4.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
80
+ xoscar-0.4.4.dist-info/RECORD,,
File without changes