Skip to main content

miniwdl lsf backend using singularity

Project description

miniwdl-lsf

Extends miniwdl to run workflows on LSF clusters in singularity containers.

This LSF backend plugin for miniwdl runs WDL task containers by creating a job script that is submitted to a LSF cluster. In case the job description has a container, singularity will be used as container runtime.

Installation

For the development version::

pip install git+https://github.com/adthrasher/miniwdl-lsf.git

Configuration

The following miniwdl configuration example can be used to use miniwdl on a LSF cluster:

    [scheduler]
    container_backend=lsf_singularity
    # Sets the maximum concurrent tasks. Since LSF handles scheduling, we only
    # limit to avoid excessive overhead in miniwdl.
    task_concurrency=200
    
    # This setting allows running tasks to continue, even if one other tasks fails. 
    # Useful in combination with call caching. Prevents wasting resources by
    # cancelling jobs half-way that would probably succeed.
    fail_fast = false

    [call_cache]
    # The following settings create a call cache under the current directory.
    # This prevents wasting unnecessary resources on the cluster by rerunning 
    # jobs that have already succeeded.
    put = true 
    get = true 
    dir = "$PWD/miniwdl_call_cache"

    [task_runtime]
    # Setting a 'maxRetries' default allows jobs that fail due to intermittent
    # errors on the cluster to be retried.
    defaults = {
            "maxRetries": 2,
            "docker": "ubuntu:20.04"
        }

    command_shell = /bin/bash
 
    [singularity]
    # This plugin wraps the singularity backend. Make sure the settings are
    # appropriate for your cluster.
    exe = ["singularity"]

    # the miniwdl default options contain options to run as a fake root, which
    # is not available on most clusters.
    run_options = [
            "--containall",
            "--cleanenv"
        ]

    # Location of the singularity images (optional). The miniwdl-lsf plugin
    # will set it to a directory inside $PWD. This location must be reachable
    # for the submit nodes.
    image_cache = "$PWD/miniwdl_singularity_cache"

    [lsf]
    # extra arguments passed to the bsub command (optional).
    extra_args=""
    # Task memory specifications should be interpreted as per-job not per-core (LSF default)
    memory_per_job = true

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miniwdl_lsf-0.1.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

miniwdl_lsf-0.1.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file miniwdl_lsf-0.1.1.tar.gz.

File metadata

  • Download URL: miniwdl_lsf-0.1.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.15 Darwin/22.2.0

File hashes

Hashes for miniwdl_lsf-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e88a87c5d4c05d5ad0ffdc8a06c2e7d634b61864849e807275e187bfc0a73b0f
MD5 93a9aab84092eddc3c2f210d16636542
BLAKE2b-256 a3398e78b8693ae6bc036cace00680052398e3f4dbd950475d06eb86d219df9d

See more details on using hashes here.

File details

Details for the file miniwdl_lsf-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: miniwdl_lsf-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.15 Darwin/22.2.0

File hashes

Hashes for miniwdl_lsf-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a00233d9d30870567c39ad00ca629aa067a4f9e3e925c01977cbc14145376c1e
MD5 2c57aef2871bc4bd20b5408a86dcf23b
BLAKE2b-256 2a456bc4c66ec9a2ac22fceae4d58bebff849603544c6647b57c6163ea1f731b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page