diff --git a/requirements.txt b/requirements.txt index 4e6611f5ec..a7a7779daa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ python-daemon>=2.0.4,<2.1.0 extras statsd>=3.0 voluptuous>=0.10.2 -gear>=0.9.0,<1.0.0 +gear>=0.13.0,<1.0.0 apscheduler>=3.0 PrettyTable>=0.6,<0.8 babel>=1.0 diff --git a/zuul/driver/github/githubconnection.py b/zuul/driver/github/githubconnection.py index d8fbb26304..6cc4c2e04c 100644 --- a/zuul/driver/github/githubconnection.py +++ b/zuul/driver/github/githubconnection.py @@ -152,7 +152,9 @@ class GithubGearmanWorker(object): ssl_ca = get_default(self.config, 'gearman', 'ssl_ca') self.gearman = gear.TextWorker('Zuul Github Connector') self.log.debug("Connect to gearman") - self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.log.debug("Waiting for server") self.gearman.waitForServer() self.log.debug("Registering") diff --git a/zuul/executor/client.py b/zuul/executor/client.py index 1f44422ade..00ea8eb6be 100644 --- a/zuul/executor/client.py +++ b/zuul/executor/client.py @@ -122,7 +122,9 @@ class ExecutorClient(object): ssl_cert = get_default(self.config, 'gearman', 'ssl_cert') ssl_ca = get_default(self.config, 'gearman', 'ssl_ca') self.gearman = ZuulGearmanClient(self) - self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.cleanup_thread = GearmanCleanup(self) self.cleanup_thread.start() diff --git a/zuul/executor/server.py b/zuul/executor/server.py index a3224afd0b..688e6db1bd 100644 --- a/zuul/executor/server.py +++ b/zuul/executor/server.py @@ -2239,10 +2239,14 @@ class ExecutorServer(object): ssl_cert = get_default(self.config, 'gearman', 'ssl_cert') ssl_ca = get_default(self.config, 'gearman', 'ssl_ca') self.merger_worker = ExecutorMergeWorker(self, 'Zuul Executor Merger') - self.merger_worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.merger_worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.executor_worker = ExecutorExecuteWorker( self, 'Zuul Executor Server') - self.executor_worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.executor_worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.log.debug("Waiting for server") self.merger_worker.waitForServer() self.executor_worker.waitForServer() diff --git a/zuul/merger/client.py b/zuul/merger/client.py index 51c4afdca2..d53448914a 100644 --- a/zuul/merger/client.py +++ b/zuul/merger/client.py @@ -82,7 +82,9 @@ class MergeClient(object): ssl_ca = get_default(self.config, 'gearman', 'ssl_ca') self.log.debug("Connecting to gearman at %s:%s" % (server, port)) self.gearman = MergeGearmanClient(self) - self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.log.debug("Waiting for gearman") self.gearman.waitForServer() self.jobs = set() diff --git a/zuul/merger/server.py b/zuul/merger/server.py index a2f23034d2..bdb3cc5d88 100644 --- a/zuul/merger/server.py +++ b/zuul/merger/server.py @@ -60,7 +60,9 @@ class MergeServer(object): ssl_cert = get_default(self.config, 'gearman', 'ssl_cert') ssl_ca = get_default(self.config, 'gearman', 'ssl_ca') self.worker = gear.TextWorker('Zuul Merger') - self.worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.log.debug("Waiting for server") self.worker.waitForServer() self.log.debug("Registering") diff --git a/zuul/rpcclient.py b/zuul/rpcclient.py index d4a7bc9686..ef12b96a2a 100644 --- a/zuul/rpcclient.py +++ b/zuul/rpcclient.py @@ -29,7 +29,9 @@ class RPCClient(object): def __init__(self, server, port, ssl_key=None, ssl_cert=None, ssl_ca=None): self.log.debug("Connecting to gearman at %s:%s" % (server, port)) self.gearman = gear.Client() - self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.gearman.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.log.debug("Waiting for gearman") self.gearman.waitForServer() diff --git a/zuul/rpclistener.py b/zuul/rpclistener.py index 384b9c7203..0fad72fd02 100644 --- a/zuul/rpclistener.py +++ b/zuul/rpclistener.py @@ -48,7 +48,9 @@ class RPCListener(object): ssl_cert = get_default(self.config, 'gearman', 'ssl_cert') ssl_ca = get_default(self.config, 'gearman', 'ssl_ca') self.worker = gear.TextWorker('Zuul RPC Listener') - self.worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca) + self.worker.addServer(server, port, ssl_key, ssl_cert, ssl_ca, + keepalive=True, tcp_keepidle=60, + tcp_keepintvl=30, tcp_keepcnt=5) self.log.debug("Waiting for server") self.worker.waitForServer() self.log.debug("Registering")