def deleteJob(cur, job_id): print "deleting job id", job_id jrids = bu.jobResultIds(cur, job_id) for jrid in jrids: bu.deleteJobResult(cur, jrid) bu.deleteJobIdFromQueue(cur, job_id) cur.execute('DELETE FROM Jobs WHERE Jobs.id = %s;', job_id) bu.printDeleted(int(cur.rowcount), "Jobs") print "deleting job id", job_id, "done"
(server, user, password, database) = bu.loadConfiguration() def getResultID(cur, job_id, problem_id): cur.execute( """select id from JobResults where job_id=%s and problem_id=%s;""", (job_id, problem_id)) res = cur.fetchall() assert len(res) == 1, "No JobResult for this job id and problem id" assert len(res[0]) == 1 return res[0][0] def addBackToQueue(cur, job_id, problem_id): cur.execute("insert into Queue Values (default, %s, %s, default);", (job_id, problem_id)) print cur.fetchall() con = mdb.connect(server, user, password, database) with con: cur = con.cursor() job_result_id = getResultID(cur, job_id, problem_id) if (bu.confirmJobResult(cur, job_id, problem_id, job_result_id)): bu.deleteJobResult(cur, job_result_id) addBackToQueue(cur, job_id, problem_id) else: print "Confirmation failed skipping", job_result_id con.close()