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()

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()

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.

easybuild.tools.job.backend.avail_job_backends(check_usable=True)

Return all known job execution backends.

easybuild.tools.job.backend.job_backend()

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