diff --git a/rowers/views/otherviews.py b/rowers/views/otherviews.py index 1536260a..bf567847 100644 --- a/rowers/views/otherviews.py +++ b/rowers/views/otherviews.py @@ -45,16 +45,28 @@ def failed_queue_view(request): registry = q.failed_job_registry for id in registry.get_job_ids(): # pragma: no cover - job = Job.fetch(id,connection=Redis()) - traceback = str(job.exc_info) + success = 0 + try: + job = Job.fetch(id,connection=Redis()) + success = 1 + except: + try: + id = id.replace('rq:job','') + job = Job.fetch(id,connection=Redis()) + success = 1 + except: + pass - info = { - 'id': job.id, - 'started_at': job.started_at, - 'traceback1': traceback, - } + if success: + traceback = str(job.exc_info) - resultslist += [info] + info = { + 'id': job.id, + 'started_at': job.started_at, + 'traceback1': traceback, + } + + resultslist += [info] return render(request, @@ -75,8 +87,15 @@ def failed_queue_empty(request): registry = q.failed_job_registry for id in registry.get_job_ids(): - registry.remove(id,delete_job=True) - + try: + registry.remove(id,delete_job=True) + except: + id = id.replace('rq.job','') + try: + registry.remove(id,delete_job=True) + except: + pass + return HttpResponseRedirect(reverse('failed_queue_view'))