Merge branch 'release/v10.16'
This commit is contained in:
@@ -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 %}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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'),
|
||||
|
||||
@@ -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'):
|
||||
|
||||
Reference in New Issue
Block a user