Add support for specifying a custom exit code in WorkerHeartbeatRequest.
PiperOrigin-RevId: 264909269
This commit is contained in:
parent
6f737e0dd6
commit
dbf5399ae9
@ -106,9 +106,14 @@ message WatchdogConfig {
|
||||
int64 timeout_ms = 1;
|
||||
}
|
||||
|
||||
message RequestedExitCode {
|
||||
int32 exit_code = 1;
|
||||
}
|
||||
|
||||
message WorkerHeartbeatRequest {
|
||||
WorkerShutdownMode shutdown_mode = 1;
|
||||
WatchdogConfig watchdog_config = 2;
|
||||
RequestedExitCode exit_code = 3;
|
||||
}
|
||||
|
||||
message WorkerHeartbeatResponse {
|
||||
|
@ -145,12 +145,14 @@ class WorkerHeartbeatManager(object):
|
||||
|
||||
# Default timeout is set to allow other shutdown triggered operations (log
|
||||
# flushing etc) to finish before terminating the worker.
|
||||
def shutdown(self, wait_time_in_ms=60000):
|
||||
def shutdown(self, wait_time_in_ms=60000, exit_code=None):
|
||||
"""Shutdown all workers after `shutdown_timeout_secs`."""
|
||||
logging.info('Shutting down %s.', self)
|
||||
req = event_pb2.WorkerHeartbeatRequest(
|
||||
watchdog_config=event_pb2.WatchdogConfig(timeout_ms=wait_time_in_ms),
|
||||
shutdown_mode=event_pb2.SHUTDOWN_AFTER_TIMEOUT)
|
||||
shutdown_mode=event_pb2.SHUTDOWN_AFTER_TIMEOUT,
|
||||
exit_code=event_pb2.RequestedExitCode(
|
||||
exit_code=exit_code) if exit_code is not None else None)
|
||||
self.configure(req)
|
||||
|
||||
# Wait for workers to shutdown.
|
||||
|
Loading…
x
Reference in New Issue
Block a user