cctools
|
00001 #ifndef BATCH_JOB_INTERNAL_H_ 00002 #define BATCH_JOB_INTERNAL_H_ 00003 00004 #include "batch_job.h" 00005 #include "itable.h" 00006 #include "mpi_queue.h" 00007 #include "work_queue.h" 00008 00009 #define BATCH_JOB_LINE_MAX 8192 00010 00011 struct batch_queue { 00012 batch_queue_type_t type; 00013 char *logfile; 00014 char *options_text; 00015 struct itable *job_table; 00016 struct itable *output_table; 00017 struct itable *hadoop_jobs; 00018 struct work_queue *work_queue; 00019 struct mpi_queue *mpi_queue; 00020 }; 00021 00022 batch_job_id_t batch_job_submit_simple_local(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00023 batch_job_id_t batch_job_submit_local(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00024 batch_job_id_t batch_job_wait_local(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00025 int batch_job_remove_local(struct batch_queue *q, batch_job_id_t jobid); 00026 00027 batch_job_id_t batch_job_submit_simple_condor(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00028 batch_job_id_t batch_job_submit_condor(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00029 batch_job_id_t batch_job_wait_condor(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00030 int batch_job_remove_condor(struct batch_queue *q, batch_job_id_t jobid); 00031 00032 int batch_job_setup_cluster(struct batch_queue *q); 00033 batch_job_id_t batch_job_submit_simple_cluster(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00034 batch_job_id_t batch_job_submit_cluster(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00035 batch_job_id_t batch_job_wait_cluster(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00036 int batch_job_remove_cluster(struct batch_queue *q, batch_job_id_t jobid); 00037 00038 batch_job_id_t batch_job_submit_simple_moab(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00039 batch_job_id_t batch_job_submit_moab(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00040 batch_job_id_t batch_job_wait_moab(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00041 int batch_job_remove_moab(struct batch_queue *q, batch_job_id_t jobid); 00042 00043 batch_job_id_t batch_job_submit_simple_work_queue(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00044 batch_job_id_t batch_job_submit_work_queue(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00045 batch_job_id_t batch_job_wait_work_queue(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00046 int batch_job_remove_work_queue(struct batch_queue *q, batch_job_id_t jobid); 00047 00048 batch_job_id_t batch_job_submit_simple_mpi_queue(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00049 batch_job_id_t batch_job_submit_mpi_queue(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00050 batch_job_id_t batch_job_wait_mpi_queue(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00051 int batch_job_remove_mpi_queue(struct batch_queue *q, batch_job_id_t jobid); 00052 00053 batch_job_id_t batch_job_submit_simple_hadoop(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00054 batch_job_id_t batch_job_submit_hadoop(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00055 batch_job_id_t batch_job_wait_hadoop(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00056 int batch_job_remove_hadoop(struct batch_queue *q, batch_job_id_t jobid); 00057 00058 batch_job_id_t batch_job_submit_simple_xgrid(struct batch_queue * q, const char *cmd, const char *extra_input_files, const char *extra_output_files); 00059 batch_job_id_t batch_job_submit_xgrid(struct batch_queue * q, const char *cmd, const char *args, const char *infile, const char *outfile, const char *errfile, const char *extra_input_files, const char *extra_output_files); 00060 batch_job_id_t batch_job_wait_xgrid(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00061 int batch_job_remove_xgrid(struct batch_queue *q, batch_job_id_t jobid); 00062 00063 #endif 00064