From 4c9c97b79bbf5befee8eb8279f86f7da9b632f0a Mon Sep 17 00:00:00 2001 From: Serg Melikyan Date: Thu, 10 Oct 2013 10:13:45 +0400 Subject: [PATCH] Cherry-pick from release-0.3: *Version bump to 0.3 *Add delays before reconnect to RabbitMQ Change-Id: Ia66eab17e0df5b41d7d60dc302c88e0ed08ff401 --- muranoapi/common/service.py | 10 ++++++++++ requirements.txt | 1 + setup.cfg | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/muranoapi/common/service.py b/muranoapi/common/service.py index db1c44110..75f04cac8 100644 --- a/muranoapi/common/service.py +++ b/muranoapi/common/service.py @@ -52,6 +52,7 @@ class TaskResultHandlerService(service.Service): return MqClient(**connection_params) def _handle_results(self): + reconnect_delay = 1 while True: try: with self._create_mq_client() as mqClient: @@ -59,6 +60,7 @@ class TaskResultHandlerService(service.Service): enable_ha=True) with mqClient.open(conf.results_queue, prefetch_count=100) as results_sb: + reconnect_delay = 1 while True: result = results_sb.get_message(timeout=1) if result: @@ -66,7 +68,11 @@ class TaskResultHandlerService(service.Service): except Exception as ex: log.exception(ex) + eventlet.sleep(reconnect_delay) + reconnect_delay = min(reconnect_delay * 2, 60) + def _handle_reports(self): + reconnect_delay = 1 while True: try: with self._create_mq_client() as mqClient: @@ -74,6 +80,7 @@ class TaskResultHandlerService(service.Service): enable_ha=True) with mqClient.open(conf.reports_queue, prefetch_count=100) as reports_sb: + reconnect_delay = 1 while True: report = reports_sb.get_message(timeout=1) if report: @@ -81,6 +88,9 @@ class TaskResultHandlerService(service.Service): except Exception as ex: log.exception(ex) + eventlet.sleep(reconnect_delay) + reconnect_delay = min(reconnect_delay * 2, 60) + @handle def handle_result(message): diff --git a/requirements.txt b/requirements.txt index 92fce71a3..8ee41bb40 100644 --- a/requirements.txt +++ b/requirements.txt @@ -32,3 +32,4 @@ python-keystoneclient>=0.4.1 oslo.config>=1.2.0 # Please, revert to murano-common>=x.x.x before release http://tarballs.openstack.org/murano-common/murano-common-master.tar.gz#egg=murano-common-0.4 + diff --git a/setup.cfg b/setup.cfg index d385073ba..39274a50e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,7 +15,7 @@ [metadata] name = murano-api -version = 0.2 +version = 0.3 summary = Murano API description-file = README.rst