CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
production_tasks.CleanJobFiles Class Reference
Inheritance diagram for production_tasks.CleanJobFiles:
production_tasks.Task

Public Member Functions

def __init__
 
def run
 
- Public Member Functions inherited from production_tasks.Task
def __init__
 
def addOption
 
def getname
 
def run
 

Additional Inherited Members

- Public Attributes inherited from production_tasks.Task
 dataset
 
 instance
 
 name
 
 options
 
 user
 

Detailed Description

Removes and compresses auto-generated files from the job directory to save space.

Definition at line 841 of file production_tasks.py.

Constructor & Destructor Documentation

def production_tasks.CleanJobFiles.__init__ (   self,
  dataset,
  user,
  options 
)

Definition at line 843 of file production_tasks.py.

844  def __init__(self, dataset, user, options):
Task.__init__(self,'CleanJobFiles', dataset, user, options)

Member Function Documentation

def production_tasks.CleanJobFiles.run (   self,
  input 
)

Definition at line 845 of file production_tasks.py.

References python.multivaluedict.append(), CalibratedPatElectronProducer.dataset, production_tasks.Task.dataset, CalibratedElectronProducer.dataset, edmIntegrityCheck.IntegrityCheck.dataset, genericValidation.GenericValidationData.dataset, FileExportPlugin.FileExportPlugin.options, cmsswPreprocessor.CmsswPreprocessor.options, DOTExport.DotProducer.options, confdb.HLTProcess.options, production_tasks.Task.options, edmIntegrityCheck.IntegrityCheck.options, dataset.BaseDataset.user, EcalTPGParamReaderFromDB.user, production_tasks.Task.user, popcon::RpcDataV.user, popcon::RpcObGasData.user, popcon::RPCObPVSSmapData.user, popcon::RpcDataT.user, popcon::RpcDataI.user, popcon::RpcDataFebmap.user, popcon::RpcDataUXC.user, popcon::RpcDataGasMix.user, popcon::RpcDataS.user, MatrixInjector.MatrixInjector.user, EcalDBConnection.user, and conddblib.TimeType.user.

846  def run(self, input):
847 
848  jobdir = input['CreateJobDirectory']['JobDir']
849  jobs = input['MonitorJobs']['LSFJobIDs']
850  job_status = input['MonitorJobs']['LSFJobStatus']
851 
852  actions = {'FilesToCompress':{'Files':[]},'FilesToClean':{'Files':[]}}
853 
854  actions['FilesToClean']['Files'].append(input['ExpandConfig']['ExpandedFullCFG'])
855  if input.has_key('RunTestEvents'):
856  actions['FilesToClean']['Files'].append(input['RunTestEvents']['TestCFG'])
857 
858  for rt in glob.iglob('%s/*.root' % jobdir):
859  actions['FilesToClean']['Files'].append(rt)
860  for pyc in glob.iglob('%s/*.pyc' % jobdir):
861  actions['FilesToClean']['Files'].append(pyc)
862 
863  for j in jobs:
864  status = job_status[j]
865  if os.path.exists(status) and not status.endswith('.gz'):
866  actions['FilesToCompress']['Files'].append(status)
867 
868  compress = GZipFiles(self.dataset,self.user,self.options)
869  compressed = compress.run(actions)
870 
871  clean = CleanFiles(self.dataset,self.user,self.options)
872  removed = clean.run(actions)
873  return {'Cleaned':removed,'Compressed':compressed}
874