diff --git a/frappe/core/doctype/rq_job/rq_job_list.js b/frappe/core/doctype/rq_job/rq_job_list.js index c5a3f36d04..61f6a4d951 100644 --- a/frappe/core/doctype/rq_job/rq_job_list.js +++ b/frappe/core/doctype/rq_job/rq_job_list.js @@ -14,5 +14,13 @@ frappe.listview_settings["RQ Job"] = { listview.list_view_settings.disable_count = 1; listview.list_view_settings.disable_sidebar_stats = 1; } + + frappe.xcall("frappe.utils.scheduler.get_scheduler_status").then(({ status }) => { + if (status === "active") { + listview.page.set_indicator(__("Scheduler: Active"), "green"); + } else { + listview.page.set_indicator(__("Scheduler: Inactive"), "red"); + } + }); }, }; diff --git a/frappe/utils/scheduler.py b/frappe/utils/scheduler.py index 23b4949c38..d7393c4d45 100755 --- a/frappe/utils/scheduler.py +++ b/frappe/utils/scheduler.py @@ -177,3 +177,10 @@ def activate_scheduler(): enable_scheduler() if frappe.conf.pause_scheduler: update_site_config("pause_scheduler", 0) + + +@frappe.whitelist() +def get_scheduler_status(): + if is_scheduler_inactive(): + return {"status": "inactive"} + return {"status": "active"}