Forthcoming edits to Admin/Config/Performance/Cluster:
DRMAA
Dependencies
Galaxy interfaces with DRMAA via drmaa-python. The drmaa-python module is provided with Galaxy, but you must tell it where your DRM's DRMAA library is located, via the $DRMAA_LIBRARY_PATH
environment variable, or the drmaa_library_path
runner plugin param in job_conf.xml
. For example, to set in the environment:
galaxy_server% export DRMAA_LIBRARY_PATH=/galaxy/lsf/7.0/linux2.6-glibc2.3-x86_64/lib/libdrmaa.so
galaxy_server% export DRMAA_LIBRARY_PATH=/galaxy/sge/lib/lx24-amd64/libdrmaa.so
To set in job_conf.xml
:
<plugins>
<plugin id="sge" type="runner" load="galaxy.jobs.runners.drmaa:DRMAAJobRunner">
<param id="drmaa_library_path">/galaxy/sge/lib/lx24-amd64/libdrmaa.so</param>
</plugin>
</plugins>
The value in job_conf.xml
will override any value set in the $DRMAA_LIBRARY_PATH
environment variable.
Parameters and Configuration
following the existing example...
The DRMAA runner takes four optional plugin parameters in addition to drmaa_library_path
explained above:
<plugins>
<plugin id="drmaa" type="runner" load="galaxy.jobs.runners.drmaa:DRMAAJobRunner">
<param id="invalidjobexception_state">ok</param>
<param id="invalidjobexception_retries">0</param>
<param id="internalexception_state">ok</param>
<param id="internalexception_retries">0</param>
</plugin>
</plugins>
These parameters control the way in which a job will be considered terminal, since different DRMs behave in different ways. For example, DRMAA specifies a "job finished normally" state, but not all DRMs will report this state, and instead, job completion can only determined by checking job state and encountering a drmaa InvalidJobException
exception. These parameters are explained below:
DRMAAJobRunner s |
|||||
id |
values | details | required | example | default |
---|---|---|---|---|---|
invalidjobexception_state |
ok or error |
Whether Galaxy should treat an InvalidJobException as a job failure |
optional | error |
ok |
invalidjobexception_retries |
any integer >= 0 | The number of times a job should be rechecked before InvalidJobException is considered terminal |
optional | 3 |
0 do not retry state check) |
internalexception_state |
ok or error |
Whether Galaxy should treat an InternalException as a job failure |
optional | error |
ok |
internalexception_retries |
any integer >= 0 | The number of times a job should be rechecked before InternalException is considered terminal |
optional | 3 |
0 do not retry state check) |