Skip to main content

Executors

In Nextflow, the executor is the component that runs the tasks submitted by a pipeline.

The executor provides an abstraction between the pipeline definition (what it computes) and the underlying execution system (how it runs). You can write a pipeline once and run it on your local machine, a high-performance computing (HPC) cluster, or in the cloud by changing the executor in the Nextflow configuration.

Use process.executor to set the executor, e.g. process.executor = 'slurm'. Nextflow uses the local executor by default.

Local

PageNameDescription
LocallocalRuns tasks as operating system processes on the local machine.

Cloud

PageNameDescription
AWS BatchawsbatchSubmits tasks to AWS Batch.
Azure BatchazurebatchSubmits tasks to Azure Batch.
Google Cloud Batchgoogle-batchSubmits tasks to Google Cloud Batch.
Kubernetesk8sSubmits tasks to a Kubernetes cluster.
SeqeraseqeraSubmits tasks to Seqera Intelligent Compute.

HPC schedulers

PageNameDescription
BridgebridgeSubmits tasks through the Bridge abstraction layer.
FluxfluxSubmits tasks to the Flux Framework.
HTCondorcondorSubmits tasks to the HTCondor resource manager.
HyperQueuehqSubmits tasks to the HyperQueue job scheduler.
LSFlsfSubmits tasks to a Platform LSF cluster.
MoabmoabSubmits tasks to the Moab resource manager.
NQSIInqsiiSubmits tasks to the NQSII resource manager.
OARoarSubmits tasks to the OAR resource manager.
PBS/TorquepbsSubmits tasks to a PBS/Torque scheduler.
PBS PropbsproSubmits tasks to the PBS Pro resource manager.
SGEsgeSubmits tasks to an SGE cluster or compatible platform.
SLURMslurmSubmits tasks to the SLURM resource manager.
TCStcsSubmits tasks to a Fujitsu TCS cluster.