예제 #1
0
def calculate_optimal_job_container_capacity(cooldown):
    seconds_since_last_job = get_seconds_since_last_job_run(cooldown)
    jobs_in_flight = (len(job_manager.get_jobs_by_status("IN_PROGRESS")) +
                      len(job_manager.get_jobs_by_status("CREATED")))
    msg = ("SITUATION:\nSecondsSinceLastJobRun: %s\nJobCount: %s")
    msg = msg % (seconds_since_last_job, jobs_in_flight)
    tasks_log.info(msg)
    if jobs_in_flight == 0:
        tasks_log.info("no jobs in flight")
        if seconds_since_last_job > cooldown:
            return 0
        else:
            return 1
    else:
        tasks_log.info("found jobs in flight")
        return 1
예제 #2
0
def calculate_optimal_job_container_capacity(cooldown):
	seconds_since_last_job = get_seconds_since_last_job_run(cooldown)
	jobs_in_flight = (len(job_manager.get_jobs_by_status("IN_PROGRESS")) + 
		len(job_manager.get_jobs_by_status("CREATED")))
	msg = ("SITUATION:\nSecondsSinceLastJobRun: %s\nJobCount: %s")
	msg = msg % (seconds_since_last_job, jobs_in_flight)
	tasks_log.info(msg)
	if jobs_in_flight == 0:
		tasks_log.info("no jobs in flight")
		if seconds_since_last_job > cooldown:
			return 0
		else:
			return 1
	else:
		tasks_log.info("found jobs in flight")
		return 1
예제 #3
0
def update_jobs_created():
	jobs_created = job_manager.get_jobs_by_status("CREATED")
	for job in jobs_created:
		tasks_log.info("Found new job")
		job.status_id = job_manager.get_job_status_id("IN_PROGRESS")
		db.commit()
		email_manager.send_job_created_email(job)
예제 #4
0
def update_jobs_created():
    jobs_created = job_manager.get_jobs_by_status("CREATED")
    for job in jobs_created:
        tasks_log.info("Found new job")
        job.status_id = job_manager.get_job_status_id("IN_PROGRESS")
        db.commit()
        email_manager.send_job_created_email(job)
예제 #5
0
def update_jobs_in_progress():
	jobs_in_progress = job_manager.get_jobs_by_status("IN_PROGRESS")
	for job in jobs_in_progress:
		job_items = job_manager.get_job_items(job.job_id)
		complete = True
		has_error = False
		for job_item in job_items:
			if job_item['job_item_status'] in ['ERROR','TIMEOUT']:
				has_error = True
			elif job_item['job_item_status'] in ['CREATED', 'IN_PROGRESS']:
				complete = False
				break

		if complete:
			if has_error:
				job.status_id = job_manager.get_job_status_id("COMPLETE_WITH_ERRORS")
			else:
				job.status_id = job_manager.get_job_status_id("COMPLETE")
			db.commit()
			email_manager.send_job_complete_email(job)
예제 #6
0
def update_jobs_in_progress():
    jobs_in_progress = job_manager.get_jobs_by_status("IN_PROGRESS")
    for job in jobs_in_progress:
        job_items = job_manager.get_job_items(job.job_id)
        complete = True
        has_error = False
        for job_item in job_items:
            if job_item['job_item_status'] in ['ERROR', 'TIMEOUT']:
                has_error = True
            elif job_item['job_item_status'] in ['CREATED', 'IN_PROGRESS']:
                complete = False
                break

        if complete:
            if has_error:
                job.status_id = job_manager.get_job_status_id(
                    "COMPLETE_WITH_ERRORS")
            else:
                job.status_id = job_manager.get_job_status_id("COMPLETE")
            db.commit()
            email_manager.send_job_complete_email(job)