Index: appengine/swarming/swarming_bot/bot_code/remote_client_grpc.py |
diff --git a/appengine/swarming/swarming_bot/bot_code/remote_client_grpc.py b/appengine/swarming/swarming_bot/bot_code/remote_client_grpc.py |
index 2f97f2b4fb7335938330262fbe2c748316cd1695..3ef861d0017d73dc99af579aa4cbc7c56ac65bf7 100644 |
--- a/appengine/swarming/swarming_bot/bot_code/remote_client_grpc.py |
+++ b/appengine/swarming/swarming_bot/bot_code/remote_client_grpc.py |
@@ -14,6 +14,11 @@ from proto_bot import swarming_bot_pb2 |
from remote_client_errors import InternalError |
+# How long to wait for a response from the server. Keeping the same as |
+# the equivalent in remote_client.py for now. |
+NET_CONNECTION_TIMEOUT_SEC = 5*60 |
+ |
+ |
class RemoteClientGrpc(object): |
"""RemoteClientGrpc knows how to make calls via gRPC. |
""" |
@@ -62,7 +67,8 @@ class RemoteClientGrpc(object): |
google.protobuf.json_format.ParseDict(params, request) |
# Perform update |
- response = self._stub.TaskUpdate(request) |
+ response = self._stub.TaskUpdate(request, |
+ timeout=NET_CONNECTION_TIMEOUT_SEC) |
logging.debug('post_task_update() = %s', request) |
if response.error: |
raise InternalError(response.error) |
@@ -75,7 +81,7 @@ class RemoteClientGrpc(object): |
request.msg = message |
logging.error('post_task_error() = %s', request) |
- response = self._stub.TaskError(request) |
+ response = self._stub.TaskError(request, timeout=NET_CONNECTION_TIMEOUT_SEC) |
return response.ok |
def _attributes_json_to_proto(self, json_attr, msg): |
@@ -89,7 +95,7 @@ class RemoteClientGrpc(object): |
def do_handshake(self, attributes): |
request = swarming_bot_pb2.HandshakeRequest() |
self._attributes_json_to_proto(attributes, request.attributes) |
- response = self._stub.Handshake(request) |
+ response = self._stub.Handshake(request, timeout=NET_CONNECTION_TIMEOUT_SEC) |
resp = { |
'server_version': response.server_version, |
'bot_version': response.bot_version, |
@@ -107,7 +113,7 @@ class RemoteClientGrpc(object): |
request = swarming_bot_pb2.PollRequest() |
self._attributes_json_to_proto(attributes, request.attributes) |
# TODO(aludwin): gRPC-specific exception handling |
- response = self._stub.Poll(request) |
+ response = self._stub.Poll(request, timeout=NET_CONNECTION_TIMEOUT_SEC) |
if response.cmd == swarming_bot_pb2.PollResponse.UPDATE: |
return 'update', response.version |
@@ -167,7 +173,7 @@ class RemoteClientGrpc(object): |
logging.info('Updating to version: %s', bot_version) |
request = swarming_bot_pb2.BotUpdateRequest() |
request.bot_version = bot_version |
- response = self._stub.BotUpdate(request) |
+ response = self._stub.BotUpdate(request, timeout=NET_CONNECTION_TIMEOUT_SEC) |
with open(new_zip_fn, 'wb') as f: |
f.write(response.bot_code) |