cctools

batch_job_internal.h

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