Skip to content

SabaWorker

Hirotaka Suetake edited this page Jun 27, 2018 · 2 revisions

Saba is a job executer and is responsible for executing the actual CWL job.

The start of the Saba Worker itself is as follows:

docker-compose -f RyuGoo-Saba/SabaWorker/docker-compose.worker.yml up -d --build

As the REST API endpoint, port 8080 is used. This part can be changed by setting /SabaMaster/pySabaWorker/config.py.

By accessing localhost:8080/doc/ from the browser, you can check API docs and execute API using swagger UI.

Implimentation

It manages 5 docker-container with docker-compose.

Each container is as follows:

  • API Server
  • redis
    • for key value store
  • cwltools
  • SRAtoolkit
  • Azure CLI
    • to upload output file to BLOB Storage

API Server

As a framework of API server:

  • flask
  • flask-restplus

are used.

The reason for using flask-restplus is to get UI and documentations conforming to swagger.

REST API Endpoint

Currently, REST API endpoint is provided as follows:

  • GET /admin/
    • Confirm the existence of the server
  • POST /blob/
    • Pass Azure credential information
  • GET /job/
    • Get detailed information of job
  • POST /jobs/
    • Register job
Clone this wiki locally