diff options
author | Selwin Ong <selwin.ong@gmail.com> | 2019-03-17 16:14:51 +0700 |
---|---|---|
committer | Selwin Ong <selwin.ong@gmail.com> | 2019-03-17 16:14:51 +0700 |
commit | 35b5991800c3953ceced37aefc9d0ff6f0b4c57b (patch) | |
tree | 058dc17712c5bf55d0e7377bf3d1a222cfb2076d | |
parent | 9f7762494b613ada210d164ea6c2d55b646aee74 (diff) | |
download | rq-improve-rq-info.tar.gz |
Show worker hostname and PID on cliimprove-rq-info
-rw-r--r-- | rq/cli/helpers.py | 7 | ||||
-rw-r--r-- | 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) |