def verify(): worker_data = list(list_workers().values())[0] is_id_hex = is_hex(worker_data["worker_id"]) # +1 to take into account of drivers. correct_num_workers = len( list_workers()) == ray.cluster_resources()["CPU"] + 1 return is_id_hex and correct_num_workers
def workers(ctx, format: str): url = ctx.obj["api_server_url"] format = AvailableFormat(format) print( get_state_api_output_to_print( list_workers(api_server_url=url, _explain=_should_explain(format)), format=format, ) )
def test_list_workers(shutdown_only): ray.init() def verify(): worker_data = list(list_workers().values())[0] is_id_hex = is_hex(worker_data["worker_id"]) # +1 to take into account of drivers. correct_num_workers = len( list_workers()) == ray.cluster_resources()["CPU"] + 1 return is_id_hex and correct_num_workers wait_for_condition(verify) print(list_workers())
def workers(ctx, format: str, filter: List[Tuple[str, str]]): url = ctx.obj["api_server_url"] format = AvailableFormat(format) print( get_state_api_output_to_print( list_workers( api_server_url=url, filters=filter, _explain=_should_explain(format), ), format=format, ) )
def verify_worker_logs(): response = requests.get( webui_url + f"/api/v0/logs?node_id={node_id}&glob=*worker*") response.raise_for_status() result = json.loads(response.text) assert result["result"] logs = result["data"]["result"] worker_log_categories = [ "core_worker", "worker_out", "worker_err", ] assert all([cat in logs for cat in worker_log_categories]) num_workers = len( list(filter(lambda w: w["worker_type"] == "WORKER", list_workers()))) assert (len(logs["worker_out"]) == len(logs["worker_err"]) == len( logs["worker_out"])) assert num_workers == len(logs["worker_out"]) return True
def workers(ctx): url = ctx.obj["api_server_url"] pprint(list_workers(url))
def get_worker_by_pid(pid): for w in list_workers().values(): if w["pid"] == pid: return w assert False
def get_worker_by_pid(pid, detail=True): for w in list_workers(detail=detail): if w["pid"] == pid: return w assert False
def workers(ctx, format: str): url = ctx.obj["api_server_url"] print( get_state_api_output_to_print(list_workers(api_server_url=url), format=AvailableFormat(format)))