From 8a10c642a00419a453b21b894fa9383b6e56c12d Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 18 Aug 2016 18:45:22 +0530 Subject: [PATCH] [minor] in background jobs, show current jobs and not failed --- .../page/background_jobs/background_jobs.html | 2 +- .../page/background_jobs/background_jobs.py | 34 +++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/frappe/core/page/background_jobs/background_jobs.html b/frappe/core/page/background_jobs/background_jobs.html index b1eded471f..ad45fb9e75 100644 --- a/frappe/core/page/background_jobs/background_jobs.html +++ b/frappe/core/page/background_jobs/background_jobs.html @@ -3,7 +3,7 @@ - + diff --git a/frappe/core/page/background_jobs/background_jobs.py b/frappe/core/page/background_jobs/background_jobs.py index ddf179d132..27c2b3b6fa 100644 --- a/frappe/core/page/background_jobs/background_jobs.py +++ b/frappe/core/page/background_jobs/background_jobs.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals import frappe -from rq import Queue +from rq import Queue, Worker from frappe.utils.background_jobs import get_redis_conn from frappe.utils import format_datetime @@ -16,17 +16,29 @@ colors = { @frappe.whitelist() def get_info(): - queues = Queue.all(get_redis_conn()) + conn = get_redis_conn() + queues = Queue.all(conn) + workers = Worker.all(conn) jobs = [] + + def add_job(j, name): + if j.kwargs.get('site')==frappe.local.site: + jobs.append({ + 'job_name': j.kwargs.get('kwargs', {}).get('playbook_method') \ + or str(j.kwargs.get('job_name')), + 'status': j.status, 'queue': name, + 'creation': format_datetime(j.created_at), + 'color': colors[j.status] + }) + + for w in workers: + j = w.get_current_job() + if j: + add_job(j, w.name) + for q in queues: - for j in q.get_jobs(): - if j.kwargs.get('site')==frappe.local.site: - jobs.append({ - 'job_name': j.kwargs.get('kwargs', {}).get('playbook_method') \ - or str(j.kwargs.get('job_name')), - 'status': j.status, 'queue': str(q.name), - 'creation': format_datetime(j.created_at), - 'color': colors[j.status] - }) + if q.name != 'failed': + for j in q.get_jobs(): + add_job(j, q.name) return jobs \ No newline at end of file
QueueQueue / Worker Job Created