34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import argparse
|
|
import logging
|
|
|
|
from ray._private.ray_constants import LOGGER_FORMAT, LOGGER_LEVEL
|
|
from ray._private.ray_logging import setup_logger
|
|
from ray._private.runtime_env.context import RuntimeEnvContext
|
|
from ray.core.generated.common_pb2 import Language
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
parser = argparse.ArgumentParser(
|
|
description=("Set up the environment for a Ray worker and launch the worker.")
|
|
)
|
|
|
|
parser.add_argument(
|
|
"--serialized-runtime-env-context",
|
|
type=str,
|
|
help="the serialized runtime env context",
|
|
)
|
|
|
|
parser.add_argument("--language", type=str, help="the language type of the worker")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
setup_logger(LOGGER_LEVEL, LOGGER_FORMAT)
|
|
args, remaining_args = parser.parse_known_args()
|
|
# NOTE(edoakes): args.serialized_runtime_env_context is only None when
|
|
# we're starting the main Ray client proxy server. That case should
|
|
# probably not even go through this codepath.
|
|
runtime_env_context = RuntimeEnvContext.deserialize(
|
|
args.serialized_runtime_env_context or "{}"
|
|
)
|
|
runtime_env_context.exec_worker(remaining_args, Language.Value(args.language))
|