ansible/roles/copr/backend/files/patches/fc-client-for-worker.patch

45 lines
1.8 KiB
Diff

commit 6277990348da43d446468fbe9f3d47ef787e588e (HEAD -> separate-fc-for-worker, praiskup/separate-fc-for-worker)
Author: Pavel Raiskup <praiskup@redhat.com>
AuthorDate: Thu Jan 2 17:09:18 2020 +0100
Commit: Pavel Raiskup <praiskup@redhat.com>
CommitDate: Thu Jan 2 17:12:28 2020 +0100
backend: separate frontend_client for each Worker process
Because we shared FrontendClient object with BuildDispatcher, we for
some reason weren't able to communicate with RedisLogHandler and some
log entries were lost.
diff --git a/backend/backend/daemons/worker.py b/backend/backend/daemons/worker.py
index f679a1a8..001283e8 100644
--- a/backend/backend/daemons/worker.py
+++ b/backend/backend/daemons/worker.py
@@ -12,6 +12,7 @@ from ..mockremote import MockRemote
from ..constants import BuildStatus, build_log_format
from ..helpers import register_build_result, get_redis_logger, \
local_file_logger, run_cmd, pkg_name_evr
+from ..frontend import FrontendClient
from ..msgbus import (
MsgBusStomp,
@@ -26,11 +27,10 @@ from ..sshcmd import SSHConnectionError
class Worker(multiprocessing.Process):
msg_buses = []
- def __init__(self, opts, frontend_client, vm_manager, worker_id, vm, job, reattach=False):
+ def __init__(self, opts, vm_manager, worker_id, vm, job, reattach=False):
multiprocessing.Process.__init__(self, name="worker-{}".format(worker_id))
self.opts = opts
- self.frontend_client = frontend_client
self.vm_manager = vm_manager
self.worker_id = worker_id
self.vm = vm
@@ -38,6 +38,7 @@ class Worker(multiprocessing.Process):
self.reattach = reattach
self.log = get_redis_logger(self.opts, self.name, "worker")
+ self.frontend_client = FrontendClient(self.opts, self.log)
@property
def name(self):