Files
ray/python/ray/experimental/dynamic_resources.py
T
DK.Pino db7097fb1f [Refactor] Rename ClientId to NodeId (#10992)
* rename ClientId to NodeId

* format lint

* format lint

* fix conflicts

* rename new ClientId to NodeId

* update lint

* make same version of clang-format with travis ci
2020-09-27 10:24:21 -07:00

36 lines
1.3 KiB
Python

import ray
def set_resource(resource_name, capacity, client_id=None):
""" Set a resource to a specified capacity.
This creates, updates or deletes a custom resource for a target NodeID.
If the resource already exists, it's capacity is updated to the new value.
If the capacity is set to 0, the resource is deleted.
If NodeID is not specified or set to None,
the resource is created on the local client where the actor is running.
Args:
resource_name (str): Name of the resource to be created
capacity (int): Capacity of the new resource. Resource is deleted if
capacity is 0.
client_id (str): The NodeID of the node where the resource is to be
set.
Returns:
None
Raises:
ValueError: This exception is raised when a non-negative capacity is
specified.
"""
if client_id is not None:
client_id_obj = ray.NodeID(ray.utils.hex_to_binary(client_id))
else:
client_id_obj = ray.NodeID.nil()
if (capacity < 0) or (capacity != int(capacity)):
raise ValueError(
"Capacity {} must be a non-negative integer.".format(capacity))
return ray.worker.global_worker.core_worker.set_resource(
resource_name, capacity, client_id_obj)