Repository :
http://git.fedorahosted.org/cgit/copr.git
On branch : master
---------------------------------------------------------------
commit 2d7e0ccc312e162301cc86ced3f23466334038ea
Author: Valentin Gologuzov <vgologuz(a)redhat.com>
Date: Wed May 20 14:57:28 2015 +0200
[backend] Rescheduling unfinished builds before stop
---------------------------------------------------------------
backend/backend/daemons/backend.py | 7 +++++++
backend/tests/deamons/test_backend.py | 1 +
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/backend/backend/daemons/backend.py b/backend/backend/daemons/backend.py
index 40da5d0..21f9958 100644
--- a/backend/backend/daemons/backend.py
+++ b/backend/backend/daemons/backend.py
@@ -239,6 +239,13 @@ class CoprBackend(object):
w.terminate_instance()
self.clean_task_queues()
+ try:
+ self.log.info("Rescheduling unfinished builds before stop")
+ self.frontend_client.reschedule_all_running()
+ except RequestException as err:
+ self.log.exception(err)
+ return
+
def run(self):
"""
Starts backend process. Control sub process start/stop.
diff --git a/backend/tests/deamons/test_backend.py
b/backend/tests/deamons/test_backend.py
index 227558b..e723efe 100644
--- a/backend/tests/deamons/test_backend.py
+++ b/backend/tests/deamons/test_backend.py
@@ -298,6 +298,7 @@ class TestBackend(object):
self.be.workers_by_group_id[0].append(worker_dead)
self.be.clean_task_queues = MagicMock()
+ self.be.frontend_client = MagicMock()
self.be.terminate()