def process_cancel(self, job): job_status_history = myDb.get_job_statuses(job.id) last_status = job_status_history[-1].status build_client = job_status_history[-1].buildclient if (len(job_status_history) > 0) and (last_status == "Building") and (build_client != None): cancel_req = jsonpickle.encode(CancelRequest(job, self.settings["webserver_url"])) msg = amqp.Message(cancel_req) msg.properties["delivery_mode"] = 2 print "UNFINISHED JOB ID", job.id, "STATUS:", last_status, "SENDING CANCEL REQUEST TO", build_client self.chan.basic_publish(msg, exchange=pybit.exchange_name, routing_key=build_client) else: print "UNFINISHED JOB ID", job.id, "STATUS:", last_status, "UPDATE STATUS TO 'Cancelled'" myDb.put_job_status(job.id, "Cancelled", build_client) return
def get_jobstatus(jobid): try: # Return status history for specified job ID res = myDb.get_job_statuses(jobid) # check results returned if res: encoded = jsonpickle.encode(res) response.content_type = "application/json" return encoded else: response.status = "404 - No job found with this ID." return except Exception as e: raise Exception('Exception encountered: ' + str(e)) return None