-
Notifications
You must be signed in to change notification settings - Fork 2
[DOCUMENTATION] GoDocker runner for galaxy
Varun Shankar S edited this page Jul 25, 2016
·
3 revisions
#Documentation of the GoDocker Runner
**class GodockerJobRunner: inherits AsynchronousJobRunner**
Name | Input Params/dataType | Output Params/dataType |
---|---|---|
Runner functions | ||
__init__ | app, nworkers, **kwargs | None |
queue_job | job_wrapper(Object of galaxy.job.JobWrapper) | None |
check_watched_item | job_state(Object of galaxy.job.runners.AsynchronousJobState) | AsynchronousJobState Object (or) None |
stop_job | job(Object of galaxy.model.Job) | None |
recover | job ,job_wrapper | None |
Helper functions | ||
create_log_file | job_state, job_status_god | True (or) False |
get_structure | obj | None |
Godocker API helper functions | ||
login | apikey,login,server,noCert | auth (Godocker Object) |
post_task | job_wrapper | id(INT) (or) False |
get_task | job_id(INT) | job (or) False |
get_task_status | job_id(INT) | job (or) False |
delete_task | job_id(INT) | job (or) False |
class godocker: inherits Object
Name | Input Params/dataType | Output Params/dataType |
---|---|---|
__init__ | server, login, apikey,noCert | None |
setToken | token | None |
http_post_request | query, data, header | httpresult (or) False |
http_get_request | query, header | httpresult (or) False |
http_delete_request | query, header | httpresult (or) False |
http_put_request | query, data, header | httpresult (or) False |
test_status_code | httpresult | httpresult (or) False |
##Suggested Config
<job_conf>
<plugins>
<plugin id="godocker" type="runner" load="galaxy.jobs.runners.godocker:GodockerJobRunner">
<!-- REST based runner , submits jobs to godocker -->
<param id="godocker_master">GODOCKER_URL</param>
<!-- Specify the instance of GoDocker -->
<param id="user">USERNAME</param>
<!-- GoDocker username -->
<param id="key">APIKEY</param>
<!-- GoDocker API key -->
<param id="godocker_project">galaxy</param>
<!-- Specify the project present in the GoDocker setup -->
</plugin>
</plugins>
...
<destinations>
...
<destination id="god" runner="godocker">
<!-- The following are configurations for the container -->
<param id="docker_enabled">true</param>
<param id="docker_cpu">1</param>
<param id="docker_memory">2</param>
<param id="docker_default_container_id">centos:latest</param>
<!-- Specify the image on which the jobs have to be executed -->
<param id="godocker_volumes"></param>
<!-- Mount the godocker volumes
volumes must be separated by commas.
eg: <param id="godocker_volumes">home,galaxy</param>
-->
<param id="virtualenv">false</param>
<!-- If a tool execution in container requires galaxy virtualenv,
then enable it by setting the value to true.
Disable venv by setting the value to false.
-->
</destination>
</destinations>
</job_conf>
##Program Flow