| 272 |   | Query the status of a set of batches. | 
                      
                        | 273 |   | {{{ | 
                      
                        | 274 |   | extern int query_batches( | 
                      
                        | 275 |   |     const char* project_url, | 
                      
                        | 276 |   |     const char* authenticator, | 
                      
                        | 277 |   |     vector<string> &batch_names, | 
                      
                        | 278 |   |     QUERY_BATCH_REPLY& reply, | 
                      
                        | 279 |   |     string& error_msg | 
                      
                        | 280 |   | ); | 
                      
                        | 281 |   |  | 
                      
                        | 282 |   | struct QUERY_BATCH_JOB { | 
                      
                        | 283 |   |     string job_name; | 
                      
                        | 284 |   |     string status;              // DONE, ERROR, or IN_PROGRESS | 
                      
                        | 285 |   |     QUERY_BATCH_JOB(){} | 
                      
                        | 286 |   | }; | 
                      
                        | 287 |   |  | 
                      
                        | 288 |   | struct QUERY_BATCH_REPLY { | 
                      
                        | 289 |   |     vector<int> batch_sizes;    // how many jobs in each of the queried batches | 
                      
                        | 290 |   |     vector<QUERY_BATCH_JOB> jobs;   // the jobs, sequentially | 
                      
                      
                        |   | 272 | Query the status of this user's batches. | 
                      
                        |   | 273 |  | 
                      
                        |   | 274 | {{{ | 
                      
                        |   | 275 | int query_batches( | 
                      
                        |   | 276 |     const char* project_url, | 
                      
                        |   | 277 |     const char* authenticator, | 
                      
                        |   | 278 |     vector<BATCH_STATUS>& batches, | 
                      
                        |   | 279 |     string& error_msg | 
                      
                        |   | 280 | ); | 
                      
                        |   | 281 |  | 
                      
                        |   | 282 | struct BATCH_STATUS { | 
                      
                        |   | 283 |     int id; | 
                      
                        |   | 284 |     char name[256];             // name of batch | 
                      
                        |   | 285 |     char app_name[256]; | 
                      
                        |   | 286 |     int state;                  // see lib/common_defs.h | 
                      
                        |   | 287 |     int njobs;                  // how many jobs in batch | 
                      
                        |   | 288 |     int nerror_jobs;            // how many jobs errored out | 
                      
                        |   | 289 |     double fraction_done;       // how much of batch is done (0..1) | 
                      
                        |   | 290 |     double create_time;         // when batch was created | 
                      
                        |   | 291 |     double expire_time;         // when it will expire | 
                      
                        |   | 292 |     double est_completion_time;     // estimated completion time | 
                      
                        |   | 293 |     double completion_time;     // if completed, actual completion time | 
                      
                        |   | 294 |     double credit_estimate;     // original estimate for credit | 
                      
                        |   | 295 |     double credit_canonical;    // if completed, granted credit | 
                      
                        |   | 296 |  | 
                      
                        |   | 297 |     int parse(XML_PARSER&); | 
                      
                        |   | 298 |     void print(); | 
                      
                        |   | 299 | }; | 
                      
                        |   | 300 | }}} | 
                      
                        |   | 301 |  | 
                      
                        |   | 302 | === query_batch() === | 
                      
                        |   | 303 |  | 
                      
                        |   | 304 | Return the detailed status of jobs in a given batch (can specify by either ID or name). | 
                      
                        |   | 305 |  | 
                      
                        |   | 306 | {{{ | 
                      
                        |   | 307 | extern int query_batch( | 
                      
                        |   | 308 |     const char* project_url, | 
                      
                        |   | 309 |     const char* authenticator, | 
                      
                        |   | 310 |     int batch_id, | 
                      
                        |   | 311 |     const char batch_name[256], | 
                      
                        |   | 312 |     vector<JOB_STATE>& jobs, | 
                      
                        |   | 313 |     string& error_msg | 
                      
                        |   | 314 | ); | 
                      
                        |   | 315 |  | 
                      
                        |   | 316 | struct JOB_STATE { | 
                      
                        |   | 317 |     int id; | 
                      
                        |   | 318 |     char name[256]; | 
                      
                        |   | 319 |     int canonical_instance_id;      // it job completed successfully, | 
                      
                        |   | 320 |                                     // the ID of the canonical instance | 
                      
                        |   | 321 |     int n_outfiles;                 // number of output files | 
                      
            
                  
                          |   | 407 | === query_batch_set() === | 
                  
                          |   | 408 |  | 
                  
                          |   | 409 | Return the status of the jobs in a given set of batches. | 
                  
                          |   | 410 | This is used by the Condor interface; it's probably not useful outside of that. | 
                  
                          |   | 411 | {{{ | 
                  
                          |   | 412 | extern int query_batch_set( | 
                  
                          |   | 413 |     const char* project_url, | 
                  
                          |   | 414 |     const char* authenticator, | 
                  
                          |   | 415 |     vector<string> &batch_names, | 
                  
                          |   | 416 |     QUERY_BATCH_REPLY& reply, | 
                  
                          |   | 417 |     string& error_msg | 
                  
                          |   | 418 | ); | 
                  
                          |   | 419 |  | 
                  
                          |   | 420 | struct JOB_STATUS { | 
                  
                          |   | 421 |     string job_name; | 
                  
                          |   | 422 |     string status;              // DONE, ERROR, or IN_PROGRESS | 
                  
                          |   | 423 | }; | 
                  
                          |   | 424 |  | 
                  
                          |   | 425 | struct QUERY_BATCH_SET_REPLY { | 
                  
                          |   | 426 |     vector<int> batch_sizes;    // how many jobs in each of the queried batches | 
                  
                          |   | 427 |     vector<JOB_STATUS> jobs;   // the jobs, sequentially | 
                  
                          |   | 428 | }; | 
                  
                          |   | 429 |  | 
                  
                          |   | 430 | }}} |