Provided by: gridengine-drmaa-dev_8.1.9+dfsg-9_amd64 bug


       drmaa_run_job,    drmaa_run_bulk_jobs,    drmaa_get_next_job_id,    drmaa_get_num_job_ids,
       drmaa_release_job_ids - Job submission


       #include "drmaa.h"

       int drmaa_run_job(
              char *job_id,
              size_t job_id_len,
              drmaa_job_template_t *jt,
              char *error_diagnosis,
              size_t error_diag_len

       int drmaa_run_bulk_jobs(
              drmaa_job_ids_t **jobids,
              drmaa_job_template_t *jt,
              int start,
              int end,
              int incr,
              char *error_diagnosis,
              size_t error_diag_len

       int drmaa_get_next_job_id(
              drmaa_job_ids_t *values,
              char *value,
              int value_len

       int drmaa_get_num_job_ids(
              drmaa_job_ids_t *values,
              int *size

       void drmaa_release_job_ids(
              drmaa_job_ids_t *values


       drmaa_run_job() submits an Grid Engine job  with  attributes  defined  in  the  DRMAA  job
       template jt. On success up to job_id_len bytes of the job identifier are returned into the
       buffer, job_id.   Note  the  effect  of  the  SGE_DRMAA_ALLOW_JOB_ERROR_STATE  environment
       variable, as below.

       The  drmaa_run_bulk_jobs()  submits  a  Grid  Engine array job very much as if the qsub(1)
       option `-t start-end:incr' had been used along with the additional attributes  defined  in
       the  DRMAA  job  template,  jt.   The  same constraints regarding value ranges are also in
       effect for the parameters start, end, and incr as for qsub(5) -t. On success a  DRMAA  job
       id  string  vector  containing  job  identifiers  for each array job task is returned into
       jobids.  The job  identifiers  in  the  job  id  string  vector  can  be  extracted  using
       drmaa_get_next_job_id(3).   The  number  of identifiers in the job id string vector can be
       determined using drmaa_get_num_job_ids(3).  Note that this function is only  available  in
       the  1.0 implementation.  The caller is responsible for releasing the job id string vector
       returned into jobids using drmaa_release_job_ids(3).

       Each time drmaa_get_next_job_id() is called it returns  into  the  buffer,  value,  up  to
       value_len  bytes of the next entry stored in the DRMAA job id string vector, values.  Once
       the job ids list has been exhausted, DRMAA_ERRNO_NO_MORE_ELEMENTS is returned.

       The drmaa_get_num_job_ids() returns into size the number of entries in the DRMAA  job  ids
       string vector.  This function is only available in the 1.0 implementation.

       The  drmaa_release_attr_job_id() function releases all resources associated with the DRMAA
       job id string vector, values. This operation has no effect on the actual Grid Engine array
       job tasks.


       SGE_ROOT       Specifies the location of the Grid Engine standard configuration files.

       SGE_CELL       If  set,  specifies  the  default Grid Engine cell to be used. To address a
                      Grid Engine cell Grid Engine uses (in the order of precedence):

                             The name of the cell specified in the environment variable SGE_CELL,
                             if it is set.

                             The name of the default cell, i.e. default.

                      If  set,  specifies  that debug information should be written to stderr. In
                      addition the level of detail in which debug  information  is  generated  is

                      If  set,  specifies  the  tcp  port  on which sge_qmaster(8) is expected to
                      listen for communication requests.  Most installations will use a  services
                      map entry instead to define that port.

                      If  set,  in  case  of  job  errors the job will enter the error state.  By
                      default DRMAA jobs are not allowed to enter the job error  state  since  an
                      error  state does not exist in DRMAA, so jobs with, say, a wrong input path
                      specification, must fail when doing drmaa_wait().


       Upon    successful     completion,     drmaa_run_job(),     drmaa_run_bulk_jobs(),     and
       drmaa_get_next_job_id() return DRMAA_ERRNO_SUCCESS. Other values indicate an error.  Up to
       error_diag_len characters of error related diagnosis information is then provided  in  the
       buffer error_diagnosis.


       The drmaa_run_job(), drmaa_run_bulk_jobs(), and drmaa_get_next_job_id() functions can fail

              Unexpected or internal DRMAA error, like system call failure, etc.

              Could not contact DRM system for this request.

              The specified request is not processed successfully due to authorization failure.

              The input value for an argument is invalid.

              Failed because there is no active session.

              Failed allocating memory.

       The drmaa_run_job() and drmaa_run_bulk_jobs() functions can fail with:

              The DRM system indicated that it is too  busy  to  accept  the  job.  A  retry  may
              succeed, however.

              The  DRM  system  rejected  the  job.  The  job  will  never be accepted due to DRM
              configuration or job template settings.

       The drmaa_get_next_job_id() function can fail with:

              When there are no more entries in the vector.


       drmaa_attributes(3), drmaa_jobtemplate(3).