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 work_queue *work_queue; 00018 struct mpi_queue *mpi_queue; 00019 }; 00020 00021 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); 00022 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); 00023 batch_job_id_t batch_job_wait_local(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00024 int batch_job_remove_local(struct batch_queue *q, batch_job_id_t jobid); 00025 00026 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); 00027 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); 00028 batch_job_id_t batch_job_wait_condor(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00029 int batch_job_remove_condor(struct batch_queue *q, batch_job_id_t jobid); 00030 00031 int batch_job_setup_cluster(struct batch_queue *q); 00032 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); 00033 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); 00034 batch_job_id_t batch_job_wait_cluster(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00035 int batch_job_remove_cluster(struct batch_queue *q, batch_job_id_t jobid); 00036 00037 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); 00038 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); 00039 batch_job_id_t batch_job_wait_moab(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00040 int batch_job_remove_moab(struct batch_queue *q, batch_job_id_t jobid); 00041 00042 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); 00043 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); 00044 batch_job_id_t batch_job_wait_work_queue(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00045 int batch_job_remove_work_queue(struct batch_queue *q, batch_job_id_t jobid); 00046 00047 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); 00048 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); 00049 batch_job_id_t batch_job_wait_mpi_queue(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00050 int batch_job_remove_mpi_queue(struct batch_queue *q, batch_job_id_t jobid); 00051 00052 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); 00053 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); 00054 batch_job_id_t batch_job_wait_hadoop(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00055 int batch_job_remove_hadoop(struct batch_queue *q, batch_job_id_t jobid); 00056 00057 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); 00058 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); 00059 batch_job_id_t batch_job_wait_xgrid(struct batch_queue * q, struct batch_job_info * info_out, time_t stoptime); 00060 int batch_job_remove_xgrid(struct batch_queue *q, batch_job_id_t jobid); 00061 00062 #endif 00063