mirror of
https://github.com/wassname/ray.git
synced 2026-07-03 14:19:24 +08:00
Add runtime_context to get some runtime fields in worker (#4065)
This commit is contained in:
@@ -92,6 +92,7 @@ import ray.internal # noqa: E402
|
||||
# some functions in the worker.
|
||||
import ray.actor # noqa: F401
|
||||
from ray.actor import method # noqa: E402
|
||||
from ray.runtime_context import _get_runtime_context # noqa: E402
|
||||
|
||||
# Ray version string.
|
||||
__version__ = "0.7.0.dev0"
|
||||
@@ -103,6 +104,7 @@ __all__ = [
|
||||
"WORKER_MODE",
|
||||
"__version__",
|
||||
"_config",
|
||||
"_get_runtime_context",
|
||||
"actor",
|
||||
"connect",
|
||||
"disconnect",
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
from __future__ import absolute_import
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
|
||||
import ray.worker
|
||||
|
||||
|
||||
class RuntimeContext(object):
|
||||
"""A class used for getting runtime context."""
|
||||
|
||||
def __init__(self, worker=None):
|
||||
self.worker = worker
|
||||
|
||||
@property
|
||||
def current_driver_id(self):
|
||||
"""Get current driver ID for this worker or driver.
|
||||
|
||||
Returns:
|
||||
If called by a driver, this returns the driver ID. If called in
|
||||
a task, return the driver ID of the associated driver.
|
||||
"""
|
||||
assert self.worker is not None
|
||||
return self.worker.task_driver_id
|
||||
|
||||
|
||||
_runtime_context = None
|
||||
|
||||
|
||||
def _get_runtime_context():
|
||||
global _runtime_context
|
||||
if _runtime_context is None:
|
||||
_runtime_context = RuntimeContext(ray.worker.get_global_worker())
|
||||
|
||||
return _runtime_context
|
||||
@@ -44,6 +44,7 @@ from ray import (
|
||||
)
|
||||
from ray import import_thread
|
||||
from ray import profiling
|
||||
|
||||
from ray.core.generated.ErrorType import ErrorType
|
||||
from ray.exceptions import (
|
||||
RayActorError,
|
||||
|
||||
Reference in New Issue
Block a user