def Terminate(self, req, context=None): if req.WhichOneof("terminate_type") == "task_object": try: object_ref = self.object_refs[req.client_id][ req.task_object.id] with disable_client_hook(): ray.cancel( object_ref, force=req.task_object.force, recursive=req.task_object.recursive, ) except Exception as e: return_exception_in_context(e, context) elif req.WhichOneof("terminate_type") == "actor": try: actor_ref = self.actor_refs[req.actor.id] with disable_client_hook(): ray.kill(actor_ref, no_restart=req.actor.no_restart) except Exception as e: return_exception_in_context(e, context) else: raise RuntimeError( "Client requested termination without providing a valid " "terminate_type") return ray_client_pb2.TerminateResponse(ok=True)
def Terminate(self, request, context=None): if request.WhichOneof("terminate_type") == "task_object": try: object_ref = cloudpickle.loads(request.task_object.handle) ray.cancel(object_ref, force=request.task_object.force, recursive=request.task_object.recursive) except Exception as e: return_exception_in_context(e, context) elif request.WhichOneof("terminate_type") == "actor": try: actor_ref = cloudpickle.loads(request.actor.handle) ray.kill(actor_ref, no_restart=request.actor.no_restart) except Exception as e: return_exception_in_context(e, context) else: raise RuntimeError( "Client requested termination without providing a valid " "terminate_type") return ray_client_pb2.TerminateResponse(ok=True)