This module implements batch job submission to multiple systems, including Condor, SGE, Work Queue, and local Unix processes. This simplifies the construction of parallel abstractions that need a simple form of parallel process execution.
#include <time.h>
Go to the source code of this file.
Data Structures | |
struct | batch_job_info |
Describes a batch job when it has completed. More... | |
Typedefs | |
typedef int | batch_job_id_t |
An integer type indicating a unique batch job number. | |
Enumerations | |
enum | batch_queue_type_t { BATCH_QUEUE_TYPE_UNKNOWN = -1, BATCH_QUEUE_TYPE_UNIX, BATCH_QUEUE_TYPE_CONDOR, BATCH_QUEUE_TYPE_SGE, BATCH_QUEUE_TYPE_WORK_QUEUE } |
Indicates which type of batch submission to use. More... | |
Functions | |
batch_queue * | batch_queue_create (batch_queue_type_t type) |
Create a new batch queue. | |
batch_job_id_t | batch_job_submit_simple (struct batch_queue *q, const char *cmdline, const char *input_files, const char *output_files) |
Submit a simple batch job. | |
batch_job_id_t | batch_job_submit (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) |
Submit a batch job. | |
batch_job_id_t | batch_job_wait (struct batch_queue *q, struct batch_job_info *info) |
Wait for any batch job to complete. | |
batch_job_id_t | batch_job_wait_timeout (struct batch_queue *q, struct batch_job_info *info, time_t stoptime) |
Wait for any batch job to complete, with a timeout. | |
int | batch_job_remove (struct batch_queue *q, batch_job_id_t jobid) |
Remove a batch job. | |
batch_queue_type_t | batch_queue_type_from_string (const char *str) |
Converts a string into a batch queue type. | |
const char * | batch_queue_type_to_string (batch_queue_type_t t) |
Converts a batch queue type to a string. | |
void | batch_queue_set_logfile (struct batch_queue *q, const char *logfile) |
Set the log file used by the batch queue. | |
void | batch_queue_set_options (struct batch_queue *q, const char *options) |
Add extra options to pass to the underlying batch system. | |
void | batch_queue_delete (struct batch_queue *q) |
Delete a batch queue. | |
const char * | batch_queue_type_string () |
Return Returns the list of queue types supported by this module. |
|
An integer type indicating a unique batch job number.
|
|
|
Create a new batch queue.
|
|
Submit a simple batch job.
|
|
Submit a batch job.
|
|
Wait for any batch job to complete. Blocks until a batch job completes.
|
|
Wait for any batch job to complete, with a timeout. Blocks until a batch job completes or the current time exceeds stoptime.
|
|
Remove a batch job. This call will start the removal process. You must still call batch_job_wait to wait for the removal to complete.
|
|
Converts a string into a batch queue type.
|
|
Converts a batch queue type to a string.
|
|
Set the log file used by the batch queue. This is an optional call that will only affect batch queue types that use an internal logfile; currently only Condor.
|
|
Add extra options to pass to the underlying batch system.
This call specifies additional options to be passed to the batch system each time a job is submitted. It may be called once to apply to all subsequent jobs, or it may be called before each submission. If the queue type is BATCH_QUEUE_TYPE_CONDOR, the options must be valid submit file properties like
|
|
Delete a batch queue. Note that this function just destroys the internal data structures, it does not abort running jobs. To properly clean up running jobs, you must call batch_job_wait until it returns zero, or call batch_job_remove on all runnings jobs.
|
|
Return Returns the list of queue types supported by this module. Useful for including in help-option outputs.
|