comparison query.py @ 18:dd3c4fd64402 draft

Uploaded 20180223
author fabio
date Fri, 23 Feb 2018 13:21:14 -0500
parents e780b47013df
children
comparison
equal deleted inserted replaced
17:c1b3f3510219 18:dd3c4fd64402
8 8
9 #### NN14 #### 9 #### NN14 ####
10 SERVICE_URL = "http://nn14.galaxyproject.org:8080/"; 10 SERVICE_URL = "http://nn14.galaxyproject.org:8080/";
11 #service_url = "http://127.0.0.1:8082/"; 11 #service_url = "http://127.0.0.1:8082/";
12 QUERY_URL = SERVICE_URL+"tree/0/query"; 12 QUERY_URL = SERVICE_URL+"tree/0/query";
13 STATUS_URL = SERVICE_URL+"status/<task_id>"; 13 STATUS_URL = SERVICE_URL+"status/<query_id>";
14 ############## 14 ##############
15 # query delay in seconds 15 # query delay in seconds
16 QUERY_DELAY = 30; 16 QUERY_DELAY = 30;
17 ############## 17 ##############
18 18
46 #print(str(req.content)+"\n\n"); 46 #print(str(req.content)+"\n\n");
47 if resp_code == requests.codes.ok: 47 if resp_code == requests.codes.ok:
48 resp_content = str(req.content); 48 resp_content = str(req.content);
49 # convert out to json 49 # convert out to json
50 json_content = json.loads(resp_content); 50 json_content = json.loads(resp_content);
51 # retrieve task id 51 # retrieve query id
52 task_id = json_content['task_id']; 52 query_id = json_content['query_id'];
53 task_processed = False; 53 query_processed = False;
54 # results json content 54 # results json content
55 json_status_content = None; 55 json_status_content = None;
56 while task_processed is False: 56 while query_processed is False:
57 # create a new session 57 # create a new session
58 session = requests.Session(); 58 session = requests.Session();
59 # make a synchronous get request to the status route 59 # make a synchronous get request to the status route
60 status_query_url = STATUS_URL.replace("<task_id>", task_id); 60 status_query_url = STATUS_URL.replace("<query_id>", query_id);
61 status_req = session.get(status_query_url); 61 status_req = session.get(status_query_url);
62 status_resp_content = str(status_req.content); 62 status_resp_content = str(status_req.content);
63 #print(status_resp_content+"\n\n"); 63 #print(status_resp_content+"\n\n");
64 # convert out to json 64 # convert out to json
65 json_status_content = json.loads(status_resp_content); 65 json_status_content = json.loads(status_resp_content);
66 # take a look at the state 66 # take a look at the state
67 # state attribute is always available 67 # state attribute is always available
68 if json_status_content['state'] == 'SUCCESS': 68 if json_status_content['state'] == 'SUCCESS':
69 task_processed = True; 69 query_processed = True;
70 break; 70 break;
71 elif json_status_content['state'] in ['FAILURE', 'REVOKED']: 71 elif json_status_content['state'] in ['FAILURE', 'REVOKED']:
72 return raiseException( ERR_EXIT_CODE, "Task ID: "+str(task_id)+"\nTask status: "+str(json_status_content['state']), output_dir_path, str(options.errorfile) ); 72 return raiseException( ERR_EXIT_CODE, "Query ID: "+str(query_id)+"\nQuery status: "+str(json_status_content['state']), output_dir_path, str(options.errorfile) );
73 else: 73 else:
74 time.sleep(QUERY_DELAY); # in seconds 74 time.sleep(QUERY_DELAY); # in seconds
75 75
76 out_file_format = "tabular"; 76 out_file_format = "tabular";
77 for block in json_status_content['results']: 77 for block in json_status_content['results']: