From 61d6cc5ae4f920eafef7489e3623ce67f44f1be1 Mon Sep 17 00:00:00 2001 From: Ali Acar Date: Fri, 24 May 2024 10:55:54 +0300 Subject: [PATCH 1/2] Metadata and Dependency information into job view (#1) * naive py and html solution * return list directly * moved exc_info to top --- rq_dashboard/templates/rq_dashboard/job.html | 24 ++++++++++++++++---- rq_dashboard/web.py | 16 ++++++++++++- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/rq_dashboard/templates/rq_dashboard/job.html b/rq_dashboard/templates/rq_dashboard/job.html index 053241f..e2676d3 100644 --- a/rq_dashboard/templates/rq_dashboard/job.html +++ b/rq_dashboard/templates/rq_dashboard/job.html @@ -18,23 +18,39 @@

Job ID: {{ id }}

diff --git a/rq_dashboard/web.py b/rq_dashboard/web.py index e2fe2e6..bc5e498 100644 --- a/rq_dashboard/web.py +++ b/rq_dashboard/web.py @@ -16,6 +16,7 @@ provides the option to require HTTP Basic Auth in a few lines of code. """ +import json import os import re from functools import wraps @@ -577,7 +578,7 @@ def list_jobs(instance_number, queue_name, registry_name, per_page, page): @jsonify def job_info(instance_number, job_id): job = Job.fetch(job_id, serializer=config.serializer) - return dict( + result = dict( id=job.id, created_at=serialize_date(job.created_at), enqueued_at=serialize_date(job.enqueued_at), @@ -587,7 +588,20 @@ def job_info(instance_number, job_id): result=job.return_value(), exc_info=str(job.exc_info) if job.exc_info else None, description=job.description, + metadata=json.dumps(job.get_meta()), ) + dep_ids = [di.decode("utf-8").split(':')[-1].strip() for di in job.dependency_ids] + if len(dep_ids) > 0: + result["depends_on"] = dep_ids + status = [] + for dep_id in dep_ids: + try: + _ = Job.fetch(dep_id, serializer=config.serializer) + status.append('active') + except NoSuchJobError: + status.append('expired') + result["depends_on_status"] = status + return result @blueprint.route("//data/workers.json") From 42eff081a5ed58cc6d977f9d497f81484f869b68 Mon Sep 17 00:00:00 2001 From: Ali Acar Date: Fri, 24 May 2024 13:15:06 +0300 Subject: [PATCH 2/2] move exc info to below (#2) --- rq_dashboard/templates/rq_dashboard/job.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rq_dashboard/templates/rq_dashboard/job.html b/rq_dashboard/templates/rq_dashboard/job.html index e2676d3..33b3db8 100644 --- a/rq_dashboard/templates/rq_dashboard/job.html +++ b/rq_dashboard/templates/rq_dashboard/job.html @@ -18,10 +18,6 @@

Job ID: {{ id }}