From 35b5991800c3953ceced37aefc9d0ff6f0b4c57b Mon Sep 17 00:00:00 2001 From: Selwin Ong Date: Sun, 17 Mar 2019 16:14:51 +0700 Subject: Show worker hostname and PID on cli --- rq/cli/helpers.py | 7 +++++-- rq/worker.py | 19 +++++++++++-------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/rq/cli/helpers.py b/rq/cli/helpers.py index 8c7f20b..1e3af88 100644 --- a/rq/cli/helpers.py +++ b/rq/cli/helpers.py @@ -147,12 +147,15 @@ def show_workers(queues, raw, by_queue, queue_class, worker_class): workers = worker_class.all() if not by_queue: + for worker in workers: queue_names = ', '.join(worker.queue_names()) + name = '%s (%s %s)' % (worker.name, worker.hostname, worker.pid) if not raw: - click.echo('%s %s: %s' % (worker.name, state_symbol(worker.get_state()), queue_names)) + click.echo('%s: %s %s' % (name, state_symbol(worker.get_state()), queue_names)) else: - click.echo('worker %s %s %s' % (worker.name, worker.get_state(), queue_names)) + click.echo('worker %s %s %s' % (name, worker.get_state(), queue_names)) + else: # Display workers by queue queue_dict = {} diff --git a/rq/worker.py b/rq/worker.py index 4960d59..208d0e4 100644 --- a/rq/worker.py +++ b/rq/worker.py @@ -152,11 +152,8 @@ class Worker(object): return None name = worker_key[len(prefix):] - worker = cls([], - name, - connection=connection, - job_class=job_class, - queue_class=queue_class) + worker = cls([], name, connection=connection, job_class=job_class, + queue_class=queue_class, prepare_for_work=False) worker.refresh() @@ -167,12 +164,18 @@ class Worker(object): default_worker_ttl=DEFAULT_WORKER_TTL, job_class=None, queue_class=None, log_job_description=True, job_monitoring_interval=DEFAULT_JOB_MONITORING_INTERVAL, - disable_default_exception_handler=False): # noqa + disable_default_exception_handler=False, + prepare_for_work=True): # noqa if connection is None: connection = get_current_connection() self.connection = connection - self.hostname = socket.gethostname() - self.pid = os.getpid() + + if prepare_for_work: + self.hostname = socket.gethostname() + self.pid = os.getpid() + else: + self.hostname = None + self.pid = None self.job_class = backend_class(self, 'job_class', override=job_class) self.queue_class = backend_class(self, 'queue_class', override=queue_class) -- cgit v1.2.1