easybuild.tools.job.gc3pie module

Interface for submitting jobs via GC3Pie.

author:Riccardo Murri (University of Zurich)
author:Kenneth Hoste (Ghent University)
class easybuild.tools.job.gc3pie.GC3Pie(*args, **kwargs)

Bases: easybuild.tools.job.backend.JobBackend

Use the GC3Pie framework to submit and monitor compilation jobs, see http://gc3pie.readthedocs.org/.

In contrast with accessing an external service, GC3Pie implements its own workflow manager, which means eb --job --job-backend=GC3Pie will keep running until all jobs have terminated.

REQ_VERSION = '2.4.0'
VERSION_REGEX = <_sre.SRE_Pattern object>

Complete a bulk job submission.

Create engine, and progress it until all jobs have terminated.


Initialise the GC3Pie job backend.

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

Create and return a job object with the given parameters.

First argument server is an instance of the corresponding JobBackend class, i.e., a GC3Pie instance in this case.

Second argument script is the content of the job script itself, i.e., the sequence of shell commands that will be executed.

Third argument name sets the job human-readable name.

Fourth (optional) argument env_vars is a dictionary with key-value pairs of environment variables that should be passed on to the job.

Fifth and sixth (optional) arguments hours and cores should be integer values: * hours must be in the range 1 .. MAX_WALLTIME; * cores depends on which cluster the job is being run.

queue(job, dependencies=frozenset([]))

Add a job to the queue, optionally specifying dependencies.

Parameters:dependencies – jobs on which this job depends.