Package Ganga :: Package Lib :: Package LCG :: Module CREAM :: Class CREAM
[hide private]
[frames] | no frames]

Class CREAM

source code

                 object --+            
                          |            
   GPIDev.Base.Objects.Node --+        
                              |        
GPIDev.Base.Objects.GangaObject --+    
                                  |    
  GPIDev.Adapters.IBackend.IBackend --+
                                      |
                                     CREAM

CREAM backend - direct job submission to gLite CREAM CE

Nested Classes [hide private]

Inherited from GPIDev.Base.Objects.GangaObject: __metaclass__

Instance Methods [hide private]
 
__init__(self)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
__refresh_jobinfo__(self, job)
Refresh the lcg jobinfo.
source code
 
__setup_sandboxcache__(self, job)
Sets up the sandbox cache object to adopt the runtime configuration of the LCG backend
source code
 
__check_and_prestage_inputfile__(self, file)
Checks the given input file size and if it's size is over "BoundSandboxLimit", prestage it to a grid SE.
source code
 
__mt_job_prepare__(self, rjobs, subjobconfigs, masterjobconfig)
preparing jobs in multiple threads
source code
 
__mt_bulk_submit__(self, node_jdls)
submitting jobs in multiple threads
source code
 
__jobWrapperTemplate__(self)
Create job wrapper
source code
 
preparejob(self, jobconfig, master_job_sandbox)
Prepare the JDL
source code
 
kill(self)
Kill the job
source code
 
master_kill(self)
kill the master job to the grid
source code
 
master_bulk_kill(self)
GLITE bulk resubmission
source code
 
master_bulk_submit(self, rjobs, subjobconfigs, masterjobconfig)
submit multiple subjobs in parallel, by default using 10 concurrent threads
source code
 
master_bulk_resubmit(self, rjobs)
CREAM bulk resubmission
source code
 
master_submit(self, rjobs, subjobconfigs, masterjobconfig)
Submit the master job to the grid
source code
 
submit(self, subjobconfig, master_job_sandbox)
Submit the job to the grid
source code
 
master_auto_resubmit(self, rjobs)
Resubmit each subjob individually as bulk resubmission will overwrite previous master job statuses
source code
 
master_resubmit(self, rjobs)
Resubmit the master job to the grid
source code
 
resubmit(self)
Resubmit the job
source code
 
updateGangaJobStatus(self)
map backend job status to Ganga job status
source code

Inherited from GPIDev.Adapters.IBackend.IBackend: check_auto_resubmit, getStateTime, master_prepare, peek, remove, setup, timedetails

Inherited from GPIDev.Base.Objects.GangaObject: __construct__, __deepcopy__, __getstate__, __setstate__, _attribute_filter__set__, _auto__init__, accept, getJobObject

Inherited from GPIDev.Base.Objects.Node: __copy__, __eq__, __ne__, clone, copyFrom, printSummaryTree, printTree

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
Static Methods [hide private]
 
updateMonitoringInformation(jobs)
Monitoring loop for normal jobs
source code

Inherited from GPIDev.Adapters.IBackend.IBackend: master_updateMonitoringInformation

Class Variables [hide private]
  _schema = Schema(Version(1, 0), {'CE': SimpleItem(defvalue= ''...
  _category = 'backends'
  _name = 'CREAM'

Inherited from GPIDev.Base.Objects.Node (private): _index_cache, _parent

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

__refresh_jobinfo__(self, job)

source code 

Refresh the lcg jobinfo. It will be called after resubmission.

__check_and_prestage_inputfile__(self, file)

source code 
Checks the given input file size and if it's size is
over "BoundSandboxLimit", prestage it to a grid SE.

The argument is a path of the local file.

It returns a dictionary containing information to refer to the file:

    idx = {'lfc_host': lfc_host,
           'local': [the local file pathes],
           'remote': {'fname1': 'remote index1', 'fname2': 'remote index2', ... }
          }

If prestaging failed, None object is returned.

If the file has been previously uploaded (according to md5sum),
the prestaging is ignored and index to the previously uploaded file
is returned.

kill(self)

source code 

Kill the job

Overrides: GPIDev.Adapters.IBackend.IBackend.kill

master_kill(self)

source code 

kill the master job to the grid

Overrides: GPIDev.Adapters.IBackend.IBackend.master_kill

master_submit(self, rjobs, subjobconfigs, masterjobconfig)

source code 

Submit the master job to the grid

Overrides: GPIDev.Adapters.IBackend.IBackend.master_submit

submit(self, subjobconfig, master_job_sandbox)

source code 

Submit the job to the grid

Overrides: GPIDev.Adapters.IBackend.IBackend.submit

master_auto_resubmit(self, rjobs)

source code 

Resubmit each subjob individually as bulk resubmission will overwrite previous master job statuses

Overrides: GPIDev.Adapters.IBackend.IBackend.master_auto_resubmit

master_resubmit(self, rjobs)

source code 

Resubmit the master job to the grid

Overrides: GPIDev.Adapters.IBackend.IBackend.master_resubmit

resubmit(self)

source code 

Resubmit the job

Overrides: GPIDev.Adapters.IBackend.IBackend.resubmit

updateMonitoringInformation(jobs)
Static Method

source code 

Monitoring loop for normal jobs

Overrides: GPIDev.Adapters.IBackend.IBackend.updateMonitoringInformation

Class Variable Details [hide private]

_schema

Value:
Schema(Version(1, 0), {'CE': SimpleItem(defvalue= '', doc= 'CREAM CE e\
ndpoint'), 'jobtype': SimpleItem(defvalue= 'Normal', doc= 'Job type: N\
ormal, MPICH'), 'requirements': ComponentItem('LCGRequirements', doc= \
'Requirements for the resource selection'), 'sandboxcache': ComponentI\
tem('GridSandboxCache', copyable= 1, doc= 'Interface for handling over\
sized input sandbox'), 'id': SimpleItem(defvalue= '', typelist= ['str'\
, 'list'], protected= 1, copyable= 0, doc= 'Middleware job identifier'\
), 'status': SimpleItem(defvalue= '', typelist= ['str', 'dict'], prote\
...