Skip to content

backend

Abstract interface for submitting jobs and related utilities.

Authors:

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

JobBackend

Bases: object

__init__()

Constructor.

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.

avail_job_backends(check_usable=True)

Return all known job execution backends.

job_backend()

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