def check_cm_jobs(): con = psycopg2.connect("dbname=%s user=%s password=%s" % (config.get('Database', 'name'), config.get('Database', 'user'), config.get('Database', 'password'))) cursor = con.cursor() cursor.execute('select cm_job_id from inference_inferencejob where status=1 and inf_job_id is null') for row in cursor.fetchall(): jobid = row[0] if jobid is not None: jobstate = kbase.user_job_state(config.get('KBase', 'ujs_service_url'), config.get('KBase', 'user'), config.get('KBase', 'password'), jobid) jobstatus = jobstate.get_job_status() #print jobstatus status = jobstatus[1] if status == 'error': print "Problem: ", jobstatus[2] elif status == 'complete': #print "Decription: ", jobstate.get_job_description() #print "Info: ", jobstate.get_job_info() cm_result_ref = jobstate.get_results()['workspaceids'][0] print "result at: ", cm_result_ref start_inferelator(con, jobid, cm_result_ref) else: print jobstatus cursor.close() con.close()
def get_result_object(jobid): """retrieve result data from the job service""" jobstate = kbase.user_job_state(config.get('KBase', 'ujs_service_url'), config.get('KBase', 'user'), config.get('KBase', 'password'), jobid) jobstatus = jobstate.get_job_status() status = jobstatus[1] if status == 'error': print "Problem: ", jobstatus[2] return None elif status == 'complete': result_ref = jobstate.get_results()['workspaceids'][0] print "result at: ", result_ref ws_name, inst_name = result_ref.split('/') result_ws = kbase.workspace(config.get('KBase', 'ws_service_url'), ws_name=ws_name, user=config.get('KBase', 'user'), password=config.get('KBase', 'password')) return result_ws.get_object(inst_name)