xoscar 0.4.4__cp312-cp312-win_amd64.whl → 0.4.5__cp312-cp312-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
@@ -249,12 +249,5 @@ class DummyClient(Client):
249
249
  async def close(self):
250
250
  await super().close()
251
251
  if self._task is not None:
252
- task_loop = self._task.get_loop()
253
- if task_loop is not None:
254
- if not task_loop.is_running():
255
- logger.warning(
256
- "Dummy channel cancel task on a stopped loop, dest address: %s.",
257
- self.dest_address,
258
- )
259
252
  self._task.cancel()
260
253
  self._task = None
@@ -34,6 +34,7 @@ from ...serialization import AioDeserializer, AioSerializer, deserialize
34
34
  from ...utils import classproperty, implements, is_py_312, is_v6_ip
35
35
  from .base import Channel, ChannelType, Client, Server
36
36
  from .core import register_client, register_server
37
+ from .errors import ChannelClosed
37
38
  from .utils import read_buffers, write_buffers
38
39
 
39
40
  _is_windows: bool = sys.platform.startswith("win")
@@ -80,12 +81,19 @@ class SocketChannel(Channel):
80
81
  serializer = AioSerializer(message, compress=compress)
81
82
  buffers = await serializer.run()
82
83
 
83
- # write buffers
84
- write_buffers(self.writer, buffers)
85
- async with self._send_lock:
86
- # add lock, or when parallel send,
87
- # assertion error may be raised
88
- await self.writer.drain()
84
+ try:
85
+ # write buffers
86
+ write_buffers(self.writer, buffers)
87
+ async with self._send_lock:
88
+ # add lock, or when parallel send,
89
+ # assertion error may be raised
90
+ await self.writer.drain()
91
+ except RuntimeError as e:
92
+ if self.writer.is_closing():
93
+ raise ChannelClosed(
94
+ "Channel already closed, cannot write message"
95
+ ) from e
96
+ raise e
89
97
 
90
98
  @implements(Channel.recv)
91
99
  async def recv(self):
xoscar/backends/core.py CHANGED
@@ -196,12 +196,14 @@ class ActorCallerThreadLocal:
196
196
  return await self.call_with_client(client, message, wait)
197
197
 
198
198
  async def stop(self):
199
- logger.debug("Actor caller stop.")
200
199
  try:
201
200
  await asyncio.gather(*[client.close() for client in self._clients])
202
201
  except (ConnectionError, ServerClosed):
203
202
  pass
204
- self.cancel_tasks()
203
+ try:
204
+ self.cancel_tasks()
205
+ except:
206
+ pass
205
207
 
206
208
  def cancel_tasks(self):
207
209
  # cancel listening for all clients
@@ -232,14 +234,11 @@ def _cancel_all_tasks(loop):
232
234
 
233
235
 
234
236
  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()
237
+ try:
238
+ loop.run_forever()
239
+ finally:
240
+ _cancel_all_tasks(loop)
241
+ loop.stop()
243
242
 
244
243
 
245
244
  class ActorCaller:
@@ -253,7 +252,7 @@ class ActorCaller:
253
252
  target=_safe_run_forever, args=(_close_loop,), daemon=True
254
253
  )
255
254
  _close_thread.start()
256
- atexit.register(_safe_exit_thread, _close_loop, _close_thread)
255
+ atexit.register(_close_loop.call_soon_threadsafe, _close_loop.stop)
257
256
 
258
257
  def __init__(self):
259
258
  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.4
3
+ Version: 0.4.5
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.cp312-win_amd64.pyd,sha256=gYtFeq9ao2o9KVhVmiJiUUQGhBOMJZAq_O52rYjBx64,114688
2
+ xoscar/_utils.cp312-win_amd64.pyd,sha256=V-Ox6EDr2oGoSvco2Ir86pe8gADmO_uMhtqh7s1Bso4,114688
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.cp312-win_amd64.pyd,sha256=UuU0KCW8zoqNrO6P1eTKoEDHry4GYi_g0WGLyjD5-4w,159232
10
+ xoscar/context.cp312-win_amd64.pyd,sha256=hHxd2O5GJ_-I_kSpxoxtTsNxJgAGKALzon1yffw1t6I,159232
11
11
  xoscar/context.pxd,sha256=6n6IAbmArSRq8EjcsbS6npW8xP1jI0qOoS1fF0oyj-o,746
12
12
  xoscar/context.pyx,sha256=FOJVerGOvxe2USryXEQA0rpaFX_ScxISH6QWKUcahY8,11310
13
- xoscar/core.cp312-win_amd64.pyd,sha256=9G6fFAJlG7lW5W3k_MnpkR6YlK8DVZQ3Ji7K3JcwSDc,329728
13
+ xoscar/core.cp312-win_amd64.pyd,sha256=zwPqWfuQF4OO1kSX1urCGEd7Vb71SUrcPnG6lhklxcA,329728
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=NqzvYyd6E18osehrMdDC4JWrrED4HArKhUZv0_gV3AA,10541
33
- xoscar/backends/message.cp312-win_amd64.pyd,sha256=85tB7APIvUKJDbBSsYW5lN9sHCxWfe-oqHHOW6bwu1w,267264
32
+ xoscar/backends/core.py,sha256=Ota4pfc0spWxELjt8vfFwFkfDYrKykxOMHQtfaNxLf4,10444
33
+ xoscar/backends/message.cp312-win_amd64.pyd,sha256=7ja4_lbAPAHaGrqQbouR3vVK-YNl-rXNnCL6-y63f0A,267264
34
34
  xoscar/backends/message.pyi,sha256=JMe3_gwmBCBVJPA2TpxY0ygLyYpTsizHE9-C8syjyIM,6351
35
35
  xoscar/backends/message.pyx,sha256=23j-fjxOVONPWY0-C5sfCOMbZCx4PTxN0GU8YfrLNeg,18529
36
36
  xoscar/backends/pool.py,sha256=nh2DTrcOrZc75TG2v7MXeGLMLhEO4GsObD7zirymZ3c,61445
@@ -38,9 +38,9 @@ xoscar/backends/router.py,sha256=GJpSV_LhzINHdTp5jtsMHfPNMkNb1KI-WlqGqhwApGU,795
38
38
  xoscar/backends/communication/__init__.py,sha256=Z0_RJkPGwLJeapSNt-TiO9DvnpBPu8P4PCooLaAqjkk,1080
39
39
  xoscar/backends/communication/base.py,sha256=wmWTeE4lcB_ohqyJJ6MdzMGcrOqy2RSKRp8y-NDuFdY,7736
40
40
  xoscar/backends/communication/core.py,sha256=ZM_fU0yokoPzXcJ6j-89llp2r7J9pl3gE5iImn4b4bE,2199
41
- xoscar/backends/communication/dummy.py,sha256=hxp2wvBFR-X63Nxj128yBNKn5D_azW-UrWNCQNYJHJI,8739
41
+ xoscar/backends/communication/dummy.py,sha256=h04je_WcGCjpjf-vHUsY_Rou_s370pzP1R-Q2yeBaWg,8410
42
42
  xoscar/backends/communication/errors.py,sha256=-O6ZaKs6Gz7g_ZnKU2wrz8D9btowqaYuQ9u0zCYSLWo,743
43
- xoscar/backends/communication/socket.py,sha256=AQMGCOroKabjQHwm50dKH8blFp_7mFiW4JCrhe97-jE,14400
43
+ xoscar/backends/communication/socket.py,sha256=BzD7kxUiIu-zeKbpoX1VTCEuRrjLWpS1gMaAZyNdAJA,14703
44
44
  xoscar/backends/communication/ucx.py,sha256=SQh461aiqdKKZe9fC4sDroFO2FmtQ_vX0oKSQjnqoFA,20498
45
45
  xoscar/backends/communication/utils.py,sha256=F-muF5_ow9JzAPAZ3d8XaGDiz3bRZOdWmWBDwQOVLe0,3761
46
46
  xoscar/backends/indigen/__init__.py,sha256=Khr2aGbaIw_04NIdY7QNhdljCKbmmzLb4NeAOM3LF8M,701
@@ -55,8 +55,8 @@ xoscar/collective/common.py,sha256=9c7xq3IOUvfA0I9GnpalUqXZOzmF6IEILv4zL64BYVE,3
55
55
  xoscar/collective/core.py,sha256=191aPxbUgWpjzrqyozndImDAQhZFmqoQdBkHFLDfXN0,24239
56
56
  xoscar/collective/process_group.py,sha256=kTPbrLMJSGhqbiWvTIiz-X3W0rZWd_CFn_zUIlXbOlM,23286
57
57
  xoscar/collective/utils.py,sha256=p3WEVtXvnVhkuO5mRgQBhBRFr1dKHcDKMjrbMyuiyfg,1219
58
- xoscar/collective/uv.dll,sha256=HawOnCwnhhH6nLvvNgcS52AmOqAfQpe9KW2fZ4ImfCA,620544
59
- xoscar/collective/xoscar_pygloo.cp312-win_amd64.pyd,sha256=2H3QZGwoIoMO_hPSlEBISibB9oGB8OCITt3CBWj19pU,829952
58
+ xoscar/collective/uv.dll,sha256=xBXd7kUBEvK6gfAzq8dZqz4DPthlgbu96y1jnuNrnLc,620544
59
+ xoscar/collective/xoscar_pygloo.cp312-win_amd64.pyd,sha256=lJIpIn_YNSTLWiDmWEdYh6OavZkHOqUQMUoqC2mj00U,829952
60
60
  xoscar/collective/xoscar_pygloo.pyi,sha256=6KRzElgNBBKWh-VivUw1b5Dolp17MgwA91hQo33EysU,7616
61
61
  xoscar/metrics/__init__.py,sha256=RjXuuYw4I2YYgD8UY2Z5yCZk0Z56xMJ1n40O80Dtxf8,726
62
62
  xoscar/metrics/api.py,sha256=dtJ4QrIqQNXhJedeqOPs4TXKgrRGZFFN50xAd9SCfec,9144
@@ -68,7 +68,7 @@ xoscar/metrics/backends/prometheus/__init__.py,sha256=ZHepfhCDRuK9yz4pAM7bjpWDvS
68
68
  xoscar/metrics/backends/prometheus/prometheus_metric.py,sha256=65hb8O3tmsEJ7jgOrIwl_suj9SE5Tmqcfjuk0urkLvE,2120
69
69
  xoscar/serialization/__init__.py,sha256=NOAn046vnHEkx--82BKNinV8EpyOfT5hqfRBGnKl56s,866
70
70
  xoscar/serialization/aio.py,sha256=7YLXgkWpQ3ANy-TZ1qO8Mt4_J3cZFhFh2FEgUgxMT60,4873
71
- xoscar/serialization/core.cp312-win_amd64.pyd,sha256=L59_HkQQLlgklaFUzKz-2FgDU8kDuGPyAV7aFb181XY,291840
71
+ xoscar/serialization/core.cp312-win_amd64.pyd,sha256=1lVcP6_1jBiFg3cPSkCPZF2Uf69L8MU-cg2gvQaiOQ4,291840
72
72
  xoscar/serialization/core.pxd,sha256=X-47bqBM2Kzw5SkLqICdKD0gU6CpmLsBxC3kfW--wVk,1013
73
73
  xoscar/serialization/core.pyi,sha256=Zof9373qy2lmjenSuMznEiTSCNW6WQB7rmSXrRbjUo0,1931
74
74
  xoscar/serialization/core.pyx,sha256=ZKexLRnRwZXXn2045kR7xfM_szcoPNrDuouQCWtpFp8,30570
@@ -77,7 +77,7 @@ xoscar/serialization/exception.py,sha256=t6yZn_Ate04UE1RbabNh7mu739sdtwarjuPXWhA
77
77
  xoscar/serialization/numpy.py,sha256=C6WVx-Sdl2OHBAvVY34DFjAKXlekMbpc2ni6bR8wxYo,3001
78
78
  xoscar/serialization/pyfury.py,sha256=3ucal29Hr7PX9_1SfB2x43FE2xw_C0rLkVv3foL7qwM,1200
79
79
  xoscar/serialization/scipy.py,sha256=9ph-yoRoNiwUZTwQrn35U60VPirWlncXNAg6EXvqMR4,2554
80
- xoscar-0.4.4.dist-info/METADATA,sha256=yy8pXhKcYJlGtW4UqAy9N-JrCAFgKdcnuOrN6Ev1jjo,9265
81
- xoscar-0.4.4.dist-info/WHEEL,sha256=pWXrJbnZSH-J-PhYmKs2XNn4DHCPNBYq965vsBJBFvA,101
82
- xoscar-0.4.4.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
83
- xoscar-0.4.4.dist-info/RECORD,,
80
+ xoscar-0.4.5.dist-info/METADATA,sha256=w4wOKBcZd9ixT0lhSuAETR_AOpJcCUhyX5m4G9F9svE,9265
81
+ xoscar-0.4.5.dist-info/WHEEL,sha256=pWXrJbnZSH-J-PhYmKs2XNn4DHCPNBYq965vsBJBFvA,101
82
+ xoscar-0.4.5.dist-info/top_level.txt,sha256=vYlqqY4Nys8Thm1hePIuUv8eQePdULVWMmt7lXtX_ZA,21
83
+ xoscar-0.4.5.dist-info/RECORD,,
File without changes