ray.serve.get_deployment_handle#
- ray.serve.get_deployment_handle(deployment_name: str, app_name: str | None = None, _check_exists: bool = True, _record_telemetry: bool = True) DeploymentHandle[source]#
- Get a handle to a deployment by name. - This is a developer API and is for advanced Ray users and library developers. - Parameters:
- deployment_name – Name of deployment to get a handle to. 
- app_name – Application in which deployment resides. If calling from inside a Serve application and - app_nameis not specified, this will default to the application from which this API is called.
 
- Raises:
- RayServeException – If no Serve controller is running, or if calling from outside a Serve application and no application name is specified. 
 - The following example gets the handle to the ingress deployment of an application, which is equivalent to using - serve.get_app_handle.- import ray from ray import serve @serve.deployment def f(val: int) -> int: return val * 2 serve.run(f.bind(), name="my_app") handle = serve.get_deployment_handle("f", app_name="my_app") assert handle.remote(3).result() == 6 serve.shutdown() - The following example demonstrates how you can use this API to get the handle to a non-ingress deployment in an application. - import ray from ray import serve from ray.serve.handle import DeploymentHandle @serve.deployment class Multiplier: def __init__(self, multiple: int): self._multiple = multiple def __call__(self, val: int) -> int: return val * self._multiple @serve.deployment class Adder: def __init__(self, handle: DeploymentHandle, increment: int): self._handle = handle self._increment = increment async def __call__(self, val: int) -> int: return await self._handle.remote(val) + self._increment # The app calculates 2 * x + 3 serve.run(Adder.bind(Multiplier.bind(2), 3), name="math_app") handle = serve.get_app_handle("math_app") assert handle.remote(5).result() == 13 # Get handle to Multiplier only handle = serve.get_deployment_handle("Multiplier", app_name="math_app") assert handle.remote(5).result() == 10 serve.shutdown() - DeveloperAPI: This API may change across minor Ray releases.