easybuild.tools.job.backend module

Abstract interface for submitting jobs and related utilities.

author:Riccardo Murri (University of Zurich)
author:Kenneth Hoste (Ghent University)
class easybuild.tools.job.backend.JobBackend

Bases: object


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.


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)

Create and return a Job object with the given parameters.

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

queue(job, dependencies=frozenset())

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.