Skip to content


Abstract interface for submitting jobs and related utilities.


  • Riccardo Murri (University of Zurich)
  • Kenneth Hoste (Ghent University)


Bases: object



complete() abstractmethod

Complete a bulk job submission.

Releases any jobs that were possibly queued since the last init() call.

No more job submissions should be attempted after complete() has been called, until a init() is invoked again.

init() abstractmethod

Initialise the job backend, to start a bulk job submission.

Jobs may be queued and only actually submitted when complete() is called.

make_job(script, name, env_vars=None, hours=None, cores=None) abstractmethod

Create and return a Job object with the given parameters.

See the Job:class: constructor for an explanation of what the arguments are.

queue(job, dependencies=frozenset()) abstractmethod

Add a job to the queue.

If second optional argument dependencies is given, it must be a sequence of jobs that must be successfully terminated before the new job can run.

Note that actual submission may be delayed until complete() is called.


Return all known job execution backends.


Return interface to job server, or None if none is available.