Skip to content

Commit 3286b8b

Browse files
committed
Merge remote-tracking branch 'origin/master' into bugfix/stringify-result
2 parents 4255b73 + 5567076 commit 3286b8b

File tree

5 files changed

+44
-13
lines changed

5 files changed

+44
-13
lines changed

rq_dashboard/cli.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,10 +202,11 @@ def run(
202202
click.echo("RQ Dashboard version {}".format(VERSION))
203203
app = make_flask_app(config, username, password, url_prefix)
204204
app.config["DEPRECATED_OPTIONS"] = []
205-
if redis_url:
206-
app.config["RQ_DASHBOARD_REDIS_URL"] = redis_url
207-
else:
208-
app.config["RQ_DASHBOARD_REDIS_URL"] = "redis://127.0.0.1:6379"
205+
if app.config.get("RQ_DASHBOARD_REDIS_URL") is None:
206+
if redis_url:
207+
app.config["RQ_DASHBOARD_REDIS_URL"] = redis_url
208+
else:
209+
app.config["RQ_DASHBOARD_REDIS_URL"] = "redis://127.0.0.1:6379"
209210
if redis_host:
210211
app.config["DEPRECATED_OPTIONS"].append("--redis-host")
211212
if redis_port:
@@ -267,4 +268,4 @@ def run(
267268

268269

269270
def main():
270-
run(auto_envvar_prefix="RQ_DASHBOARD")
271+
run(auto_envvar_prefix="RQ_DASHBOARD")

rq_dashboard/templates/rq_dashboard/job.html

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,39 @@ <h2><strong>Job ID</strong>: {{ id }}</h2>
1818

1919

2020
<script name="job-info" type="text/template">
21-
2221
<span class="col-6">
2322
<p class="ellipsify"><strong>Description</strong>:<br><%= d.description %></p>
2423
<p><strong>Origin queue</strong>:<br><%= d.origin %></p>
2524
<p><strong>Status</strong>:<br><%= d.status %></p>
2625
<p><strong>Result</strong>:<br><%= JSON.stringify(d.result) %></p>
26+
<p><strong>Metadata</strong>:<br><%= d.metadata %></p>
27+
<p><strong>Depends on</strong>:</p>
28+
<% if (d.depends_on) { %>
29+
<ul>
30+
<%
31+
for (var i = 0; i < d.depends_on.length; i++) {
32+
var jobId = d.depends_on[i].trim();
33+
var status = d.depends_on_status[i].trim();
34+
%>
35+
<% if (status === "active") { %>
36+
<li><a href="<%= url_for_single_job_view(jobId) %>"><%= jobId %></a></li>
37+
<% } else { %>
38+
<li><%= jobId %> (Expired)</li>
39+
<% } %>
40+
<% } %>
41+
</ul>
42+
<% } %>
2743
</span>
28-
2944
<span class="col-6">
3045
<p><strong>Created at</strong>:<br> <%= d.created_at %></p>
3146
<p><strong>Enqueued at</strong>:<br> <%= d.enqueued_at %></p>
3247
<p><strong>Ended at</strong>:<br> <%= d.ended_at %></p>
3348
</span>
34-
35-
<div class = "row col-12">
49+
<span class = "row col-12">
50+
<p><strong>Execution Info</strong>:</p>
3651
<pre class="exc_info col-12"><%= d.exc_info %></pre>
37-
</div>
52+
</span>
53+
3854
</script>
3955
</div>
4056

rq_dashboard/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION = "0.6.7.2"
1+
VERSION = "0.7.0.2"

rq_dashboard/web.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
provides the option to require HTTP Basic Auth in a few lines of code.
1717
1818
"""
19+
import json
1920
import os
2021
import re
2122
from functools import wraps
@@ -577,7 +578,7 @@ def list_jobs(instance_number, queue_name, registry_name, per_page, page):
577578
@jsonify
578579
def job_info(instance_number, job_id):
579580
job = Job.fetch(job_id, serializer=config.serializer)
580-
return dict(
581+
result = dict(
581582
id=job.id,
582583
created_at=serialize_date(job.created_at),
583584
enqueued_at=serialize_date(job.enqueued_at),
@@ -587,7 +588,20 @@ def job_info(instance_number, job_id):
587588
result=job.return_value(),
588589
exc_info=str(job.exc_info) if job.exc_info else None,
589590
description=job.description,
591+
metadata=json.dumps(job.get_meta()),
590592
)
593+
dep_ids = [di.decode("utf-8").split(':')[-1].strip() for di in job.dependency_ids]
594+
if len(dep_ids) > 0:
595+
result["depends_on"] = dep_ids
596+
status = []
597+
for dep_id in dep_ids:
598+
try:
599+
_ = Job.fetch(dep_id, serializer=config.serializer)
600+
status.append('active')
601+
except NoSuchJobError:
602+
status.append('expired')
603+
result["depends_on_status"] = status
604+
return result
591605

592606

593607
@blueprint.route("/<int:instance_number>/data/workers.json")

version.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{ "version": "0.6.7.2" }
1+
{ "version": "0.7.0" }

0 commit comments

Comments
 (0)