Exemple #1
0
def get_task_status(task_id):
    from frappe.celery_app import get_celery

    c = get_celery()
    a = c.AsyncResult(task_id)
    frappe.local.response["response"] = a.result
    return {"state": a.state, "progress": 0}
Exemple #2
0
def get_task_status(task_id):
	from frappe.celery_app import get_celery
	c = get_celery()
	a = c.AsyncResult(task_id)
	frappe.local.response['response'] = a.result
	return {
		"state": a.state,
		"progress": 0
	}
Exemple #3
0
def sync_queues():
    """notifies workers to monitor newly added sites"""
    app = get_celery()
    shortjob_workers, longjob_workers = get_workers(app)

    if shortjob_workers:
        for worker in shortjob_workers:
            sync_worker(app, worker)

    if longjob_workers:
        for worker in longjob_workers:
            sync_worker(app, worker, prefix=LONGJOBS_PREFIX)
Exemple #4
0
def sync_queues():
	"""notifies workers to monitor newly added sites"""
	app = get_celery()
	shortjob_workers, longjob_workers = get_workers(app)

	if shortjob_workers:
		for worker in shortjob_workers:
			sync_worker(app, worker)

	if longjob_workers:
		for worker in longjob_workers:
			sync_worker(app, worker, prefix=LONGJOBS_PREFIX)
Exemple #5
0
def get_running_tasks():
	ret = {}
	app = get_celery()
	inspect = app.control.inspect()
	active = inspect.active()
	if not active:
		return []
	for worker in active:
		ret[worker] = []
		for task in active[worker]:
			ret[worker].append({
				'id': task['id'],
				'name': task['name'],
				'routing_key': task['delivery_info']['routing_key'],
				'args': task['args'],
				'kwargs': task['kwargs']
			})
	return ret
Exemple #6
0
def get_redis_conn():
	"Returns the redis connection that celery would use"
	app = get_celery()
	with app.connection() as conn:
		r = conn.default_channel.client
	return r
Exemple #7
0
def check_if_workers_online():
	app = get_celery()
	if app.control.inspect().ping():
		return True
	return False