def get_jobs_by_queue(site=None): jobs_per_queue = defaultdict(list) job_count = consolidated_methods = {} for queue in get_queue_list(): q = get_queue(queue) for job in q.jobs: if not site: jobs_per_queue[queue].append( job.kwargs.get('method') or job.description) elif job.kwargs['site'] == site: jobs_per_queue[queue].append( job.kwargs.get('method') or job.description) consolidated_methods = {} for method in jobs_per_queue[queue]: if method not in list(consolidated_methods): consolidated_methods[method] = 1 else: consolidated_methods[method] += 1 job_count[queue] = len(jobs_per_queue[queue]) jobs_per_queue[queue] = consolidated_methods return jobs_per_queue, job_count
def enqueue_jobs_after_commit(): if frappe.flags.enqueue_after_commit and len(frappe.flags.enqueue_after_commit) > 0: for job in frappe.flags.enqueue_after_commit: q = get_queue(job.get("queue"), is_async=job.get("is_async")) q.enqueue_call(execute_job, timeout=job.get("timeout"), kwargs=job.get("queue_args")) frappe.flags.enqueue_after_commit = []
def purge_pending_jobs(event=None, site=None, queue=None): """ Purge tasks of the event event type. Passing 'all' will not purge all events but of the all event type, ie. the ones that are enqueued every five mintues and would any leave daily, hourly and weekly tasks """ purged_task_count = 0 for queue in get_queue_list(queue): q = get_queue(queue) for job in q.jobs: if (site and event): if job.kwargs['site'] == site and job.kwargs['event'] == event: job.delete() purged_task_count += 1 elif site: if job.kwargs['site'] == site: job.delete() purged_task_count += 1 elif event: if job.kwargs['event'] == event: job.delete() purged_task_count += 1 else: purged_task_count += q.count q.empty() return purged_task_count
def purge_pending_jobs(event=None, site=None, queue=None): """ Purge tasks of the event event type. Passing 'all' will not purge all events but of the all event type, ie. the ones that are enqueued every five mintues and would any leave daily, hourly and weekly tasks """ purged_task_count = 0 for queue in get_queue_list(queue): q = get_queue(queue) for job in q.jobs: if (site and event): if job.kwargs['site'] == site and job.kwargs['event'] == event: job.delete() purged_task_count+=1 elif site: if job.kwargs['site'] == site: job.delete() purged_task_count+=1 elif event: if job.kwargs['event'] == event: job.delete() purged_task_count+=1 else: purged_task_count += q.count q.empty() return purged_task_count
def get_pending_jobs(site=None): jobs_per_queue = defaultdict(list) for queue in get_queue_list(): q = get_queue(queue) for job in q.jobs: method_kwargs = job.kwargs["kwargs"] if job.kwargs["kwargs"] else "" if job.kwargs["site"] == site: jobs_per_queue[queue].append("{0} {1}".format(job.kwargs["method"], method_kwargs)) return jobs_per_queue
def enqueue_jobs_after_commit(): from frappe.utils.background_jobs import execute_job, get_queue if frappe.flags.enqueue_after_commit and len( frappe.flags.enqueue_after_commit) > 0: for job in frappe.flags.enqueue_after_commit: q = get_queue(job.get("queue"), is_async=job.get("is_async")) q.enqueue_call(execute_job, timeout=job.get("timeout"), kwargs=job.get("queue_args")) frappe.flags.enqueue_after_commit = []
def get_pending_jobs(site=None): jobs_per_queue = defaultdict(list) for queue in get_queue_list(): q = get_queue(queue) for job in q.jobs: method_kwargs = job.kwargs['kwargs'] if job.kwargs['kwargs'] else "" if job.kwargs['site'] == site: jobs_per_queue[queue].append("{0} {1}". format(job.kwargs['method'], method_kwargs)) return jobs_per_queue
def get_jobs_by_queue(site=None): jobs_per_queue = defaultdict(list) job_count = consolidated_methods = {} for queue in get_queue_list(): q = get_queue(queue) for job in q.jobs: if not site: jobs_per_queue[queue].append(job.kwargs.get('method') or job.description) elif job.kwargs['site'] == site: jobs_per_queue[queue].append(job.kwargs.get('method') or job.description) consolidated_methods = {} for method in jobs_per_queue[queue]: if method not in consolidated_methods.keys(): consolidated_methods[method] = 1 else: consolidated_methods[method] += 1 job_count[queue] = len(jobs_per_queue[queue]) jobs_per_queue[queue] = consolidated_methods return jobs_per_queue, job_count