prefect-ray has a ray.get in PrefectRayFuture.__del__ which is not a good design.
It will call a sync ray.get in an async loop.
It may raise a RaySystemError when exiting.
Exception ignored in: <function PrefectRayFuture.__del__ at 0x14565fb97a60>
Traceback (most recent call last):
File "/home/user/.pyenv/versions/3.11.9/lib/python3.11/site-packages/prefect_ray/task_runners.py", line 154, in __del__
File "ray/_private/auto_init_hook.py", line 22, in auto_init_wrapper
File "ray/_private/client_mode_hook.py", line 103, in wrapper
File "ray/_private/worker.py", line 2593, in get
File "ray/_private/worker.py", line 686, in check_connected
ray.exceptions.RaySystemError: System error: Ray has not been started yet. You can start Ray with 'ray.init()'.
Version info (prefect version output)
Version: 3.0.0rc20
API version: 0.8.4
Python version: 3.11.9
Git commit: 6dd34dc6
Built: Thu, Aug 29, 2024 12:06 PM
OS/Arch: linux/x86_64
Profile: default
Server type: server
Pydantic version: 2.8.2
Integrations:
prefect-ray: 0.4.0rc2
Bug summary
prefect-ray has a
ray.get
inPrefectRayFuture.__del__
which is not a good design.ray.get
in an async loop.Version info (
prefect version
output)Additional context
No response