def get_job_from_queue(status, limit=1): if limit: wait_jobs = JobQueue.select().where( JobQueue.status == status, JobQueue.party_id == PARTY_ID).order_by( JobQueue.create_date.asc()).limit(limit) else: wait_jobs = JobQueue.select().where( JobQueue.status == status, JobQueue.party_id == PARTY_ID).order_by(JobQueue.create_date.asc()) return wait_jobs
def update_job_queue(job_id, role, party_id, save_data): jobs = JobQueue.select().where(JobQueue.job_id == job_id, JobQueue.role == role, JobQueue.party_id == party_id) is_insert = True if jobs: job_queue = jobs[0] is_insert = False else: job_queue = JobQueue() job_queue.create_date = datetime.datetime.now() job_queue.job_id = job_id job_queue.role = role job_queue.party_id = party_id if 'status' in save_data: if job_queue.status in ['success', 'failed', 'partial', 'deleted']: # Termination status cannot be updated save_data.pop('status') for k, v in save_data.items(): if k in ['job_id', 'role', 'party_id']: continue setattr(job_queue, k, v) if is_insert: try: job_queue.save(force_insert=True) except: job_queue.save() else: job_queue.save() return job_queue
def update_job_queue(job_id, role, party_id, save_data): jobs = JobQueue.select().where(JobQueue.job_id == job_id, JobQueue.role == role, JobQueue.party_id == party_id) is_insert = True if jobs: job_queue = jobs[0] is_insert = False else: job_queue = JobQueue() job_queue.create_date = datetime.datetime.now() job_queue.job_id = job_id job_queue.role = role job_queue.party_id = party_id for k, v in save_data.items(): if k in ['job_id', 'role', 'party_id']: continue setattr(job_queue, k, v) if is_insert: job_queue.save(force_insert=True) else: job_queue.save() return job_queue
def running_job_amount(): return JobQueue.select().where( JobQueue.status == "running", JobQueue.pid.is_null(False)).distinct().count()
def show_job_queue(): jobs = JobQueue.select().where(JobQueue.role == 'guest', JobQueue.pid.is_null(False)).distinct() return jobs
def job_queue_size(): return JobQueue.select().count()
def get_job_from_queue(status, limit=1): wait_jobs = JobQueue.select().where(JobQueue.status == status).order_by( JobQueue.create_date.asc()).limit(limit) return [job.to_json() for job in wait_jobs]
def running_job_amount(): return JobQueue.select().where(JobQueue.status == "running").count()