Private
Public Access
1
0

Merge branch 'release/v10.16'

This commit is contained in:
Sander Roosendaal
2019-08-20 20:45:58 +02:00
4 changed files with 66 additions and 34 deletions

View File

@@ -10,34 +10,29 @@
<h1>Failed Que</h1>
<ul class="main-content">
<li class="maxheight grid_4">
<table width="100%" class="listtable shortpadded">
<thead>
<tr>
<th>Started at</th>
<th>Job Function</th>
<th>Traceback</th>
</tr>
</thead>
<tbody>
{% for job in results %}
<tr>
<td>{{ job|lookup:started_at }}</td>
<td>{{ job|lookup:func_name }}</td>
<td>{{ job|lookup:traceback }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</li>
<li class="grid_4">
<p>
<a href="/rowers/failedjobs/empty/">Empty Queue</a>
</p>
{{ the_div|safe }}
</li>
</ul>
<p>
<table width="100%" style="white-space:pre-wrap; word-wrap:break-word">
<thead>
<tr>
<th>ID</th>
<th>Started at</th>
</tr>
</thead>
<tbody>
{% for job in resultslist %}
<tr>
<td><a href="/rowers/failedjobs/{{ job|lookuplong:'id' }}">{{ job|lookup:'id' }}</a></td>
<td>{{ job|lookup:'started_at' }}</td>
<td><pre>{{ job|lookuplong:'traceback1' }}</pre></td>
</tr>
{% endfor %}
</tbody>
</table>
</p>
{% endblock %}

View File

@@ -262,6 +262,12 @@ def lookup(dict, key):
s = s[:22]
return s
@register.filter
def lookuplong(dict, key):
s = dict.get(key)
return s
@register.filter
def ualookup(dict, key):
s = dict.get(key)

View File

@@ -139,6 +139,8 @@ urlpatterns = [
# re_path(r'^imports/$', views.imports_view),
re_path(r'^exportallworkouts/?/$',views.workouts_summaries_email_view,name='workouts_summaries_email_view'),
path('failedjobs/',views.failed_queue_view,name='failed_queue_view'),
path('failedjobs/empty/',views.failed_queue_empty,name='failed_queue_empty'),
re_path('^failedjobs/(?P<id>\w+.*)/$',views.failed_job_view,name='failed_job_view'),
re_path(r'^update_empower/$',views.rower_update_empower_view,name='rower_update_empower_view'),
re_path(r'^agegroupcp/(?P<age>\d+)/$',views.agegroupcpview,name='agegroupcpview'),
re_path(r'^agegroupcp/(?P<age>\d+)/(?P<normalize>\d+)/$',views.agegroupcpview,name='agegroupcpview'),

View File

@@ -7,7 +7,7 @@ from rowers.views.statements import *
from rq import Queue
from redis import Redis
from rq.job import Job
@login_required()
def failed_queue_view(request):
@@ -16,25 +16,54 @@ def failed_queue_view(request):
q = Queue('failed', connection=Redis())
results = []
resultslist = []
for job in q.jobs:
traceback = job.exc_info
traceback = str(job.exc_info)
info = {
'id':job.id,
'started_at': job.started_at,
'func_name': job.func_name,
'traceback': traceback
'traceback1': traceback,
}
results.append(info)
resultslist += [info]
return render(request,
"failed_jobs.html",
{
'results':results,
'resultslist':resultslist,
}
)
@login_required()
def failed_queue_empty(request):
if not request.user.is_staff:
raise PermissionDenied("Not Allowed")
q = Queue('failed', connection=Redis())
q.empty()
return HttpResponseRedirect(reverse('failed_queue_view'))
@login_required()
def failed_job_view(request,id=0):
if not request.user.is_staff:
raise PermissionDenied("Not Allowed")
q = Queue('failed', connection=Redis())
thejob = q.fetch_job(id)
thejob.delete()
return HttpResponseRedirect(reverse('failed_queue_view'))
@login_required()
def errormessage_view(request,errormessage='aap'):
if (errormessage=='3dsecure'):