Skip to content

Commit ab46a7f

Browse files
author
Matt George
committed
basic resweb powered by ity
1 parent b3c21a5 commit ab46a7f

File tree

8 files changed

+89
-14
lines changed

8 files changed

+89
-14
lines changed

src/resweb/server.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,26 @@ def index(request):
2323

2424
@get("/working/")
2525
def working(request):
26-
workers = Worker.working(request.resq._server)
26+
workers = Worker.working(resq._server)
2727
template = env.get_template('working.html')
2828
dic = {
29-
'all_workers':Worker.all(settings.RESQ_HOST),
29+
'all_workers':Worker.all(HOST),
3030
'workers':workers,
3131
'resq': resq
3232
}
3333
return str(template.render(dic))
3434

3535
@get("/queues/")
3636
def queues(request):
37-
return ""
37+
queues = ResQ.queues(HOST)
38+
failure_count = Failure.count(ResQ(HOST))
39+
template = env.get_template('queues.html')
40+
dic = {
41+
'queues':queues,
42+
'failure_count':failure_count,
43+
'resq': resq
44+
}
45+
return str(template.render(dic))
3846

3947
@get('/queues/(?P<queue_id>\w+)/')
4048
def queue(request, queue_id):
@@ -44,16 +52,25 @@ def queue(request, queue_id):
4452
template = env.get_template('queue_detail.html')
4553
return str(template.render(context))
4654

47-
@get(r'/failed/$')
55+
@get('/failed/')
4856
def failed(request):
49-
return ""
57+
context = {
58+
'resq': resq
59+
}
60+
template = env.get_template('failed.html')
61+
return str(template.render(context))
5062

51-
@get(r'/workers/$')
63+
@get('/workers/')
5264
def workers(request):
53-
return ""
65+
context = {
66+
'workers': Worker.all(HOST)
67+
}
68+
template = env.get_template('workers.html')
69+
return str(template.render(context))
5470

55-
@get(r'/stats/$')
71+
@get('/stats/')
5672
def stats(request):
57-
return ""
73+
template = env.get_template('stats.html')
74+
return str(template.render({}))
5875

5976
run_itty()

src/resweb/templates/base.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<li><a href='/failed/'>Failed</a></li>
1717
<li><a href='/queues/'>Queues</a></li>
1818
<li><a href='/workers/'>Workers</a></li>
19-
<li><a href='/stats'>Stats</a></li>
19+
<li><a href='/stats/'>Stats</a></li>
2020
</ul>
2121
</div>
2222
{%block subtabs%}

src/resweb/templates/failed.html

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
{% extends "base.html" %}
1+
{% extends "base.html" %}
2+
{% block main%}
3+
Coming Soon
4+
{% endblock%}

src/resweb/templates/queues.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,22 @@
11
{% extends "base.html" %}
2+
{%block main%}
3+
<h1>Queues</h1>
4+
<table>
5+
<tr>
6+
<th>Name</th>
7+
<th>Pending</th>
8+
</tr>
9+
{% for queue in queues %}
10+
<tr>
11+
<td><a class="queue" href="/queues/{{queue}}/">{{queue}}</a></td>
12+
<td>{{ resq.size(queue)}}</td>
13+
</tr>
14+
{% endfor %}
15+
<tr>
16+
<td><a class="queue" href="/failed/">failed</a></td>
17+
<td>{{failure_count}}</td>
18+
</tr>
19+
</table>
20+
21+
22+
{%endblock%}

src/resweb/templates/stat.html

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/resweb/templates/stats.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{% extends "base.html" %}
2+
{% block main%}
3+
Coming Soon
4+
{% endblock%}

src/resweb/templates/workers.html

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,32 @@
1-
{% extends "base.html" %}
1+
{% extends "base.html" %}
2+
{% block main%}
3+
<h1>{{ workers|length }} Workers</h1>
4+
<table>
5+
<tr>
6+
<th>&nbsp;</th>
7+
<th>Where</th>
8+
<th>Queues</th>
9+
<th>Processing</th>
10+
</tr>
11+
{% for worker in workers %}
12+
<tr>
13+
<td><img src="{{worker.state}}.png" alt="{{worker.state}}" title="{{worker.state}}"></td>
14+
{% set host,pid,queues = str(worker).split(':') %}
15+
16+
<td><a href="/workers/{{worker}}">{{host}}:{{pid}}</a></td>
17+
<td></td>
18+
19+
<td>
20+
{% set data = worker.processing %}
21+
22+
{% if data.hasattr('queue') %}
23+
<code>{{data['payload']['class']}}</code>
24+
<small><a class="queue time" href="/working/{{worker}}" %>">{{data['run_at']}}</a></small>
25+
{% else %}
26+
Waiting for more
27+
{% endif %}
28+
</td>
29+
</tr>
30+
{% endfor %}
31+
</table>
32+
{% endblock%}

src/resweb/templates/working.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{% extends "base.html" %}
22
{%block main%}
3-
<h1>{{len(workers)}} of {{all_workers}} Workers Working</h1>
3+
<h1>{{ workers|length }} of {{all_workers|length}} Workers Working</h1>
44
<table>
55
<tr>
66
<th>&nbsp;</th>

0 commit comments

Comments
 (0)