mirror of
https://github.com/wassname/ray.git
synced 2026-06-28 04:39:03 +08:00
f0dba6bd2b
* cleanup python3 compat and others
32 lines
652 B
Python
32 lines
652 B
Python
"""
|
|
This file should only be imported from Python 3.
|
|
It will raise SyntaxError when importing from Python 2.
|
|
"""
|
|
import asyncio
|
|
import inspect
|
|
|
|
try:
|
|
import uvloop
|
|
except ImportError:
|
|
uvloop = None
|
|
|
|
|
|
def get_new_event_loop():
|
|
"""Construct a new event loop. Ray will use uvloop if it exists"""
|
|
if uvloop:
|
|
return uvloop.new_event_loop()
|
|
else:
|
|
return asyncio.new_event_loop()
|
|
|
|
|
|
def sync_to_async(func):
|
|
"""Convert a blocking function to async function"""
|
|
|
|
if inspect.iscoroutinefunction(func):
|
|
return func
|
|
|
|
async def wrapper(*args, **kwargs):
|
|
return func(*args, **kwargs)
|
|
|
|
return wrapper
|