def cancel(self, pr_id, pr_sha1): force_update = True # Stop pending jobs for i, elem in enumerate(self.q): job_in_queue = self.job_dict[elem] if (job_in_queue.pr_id() == pr_id and job_in_queue.pr_sha1() == pr_sha1): log.debug("Got a stop from web {}/{}".format(pr_id, pr_sha1)) del self.q[i] db.update_job(job_in_queue.pr_id(), job_in_queue.pr_sha1(), status.d[status.CANCEL], "N/A") force_update = False # Stop the running job if self.jt is not None: if (self.jt.job.pr_id() == pr_id and self.jt.job.pr_sha1() == pr_sha1): log.debug("Got a stop from web {}/{}".format(pr_id, pr_sha1)) self.jt.stop() force_update = False # If it wasn't in the queue nor running, then just update the status if force_update: db.update_job(pr_id, pr_sha1, status.d[status.CANCEL], "N/A") payload = db.get_payload_from_pr_id(pr_id, pr_sha1) github.update_state(payload, "failure", "Job cancelled!")
def show_log(owner, project, pr_number, pr_id, pr_sha1): pr_full_name = "{}/{}".format(owner, project) logs = ibl.get_logs(pr_full_name, pr_number, pr_id, pr_sha1) sql_data = db.get_job_info(pr_id, pr_sha1) payload = db.get_payload_from_pr_id(pr_id, pr_sha1) if payload is not None: commiter_branch = github.pr_branch(payload) commiter_full_name = github.pr_full_name_committer(payload) else: commiter_branch = "n/a" commiter_full_name = commiter_branch return render_template('job.html', sd=sql_data, logs=logs, commiter_branch=commiter_branch, commiter_full_name=commiter_full_name)
def user_add(self, pr_id, pr_sha1): if pr_id is None or pr_sha1 is None: log.error("Missing pr_id or pr_sha1 when trying to submit user " "job") return with self.lock: log.info("Got user initiated add {}/{}".format(pr_id, pr_sha1)) payload = db.get_payload_from_pr_id(pr_id, pr_sha1) if payload is None: log.error("Didn't find payload for ID:{}".format(pr_id)) return pr_id_sha1 = "{}-{}".format(pr_id, pr_sha1) self.q.append(pr_id_sha1) self.job_dict[pr_id_sha1] = job.Job(payload, True) db.update_job(pr_id, pr_sha1, status.d[status.PENDING], "N/A") github.update_state(payload, "pending", "Job added to queue")