ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
python.TaskManager.TaskAnalyzer Class Reference
Collaboration diagram for python.TaskManager.TaskAnalyzer:

Public Member Functions

def __init__ (self, jobDir, dsName, taskName)
 
def isOnDisk (self)
 
def analyzeFiles (self)
 
def updateStatus (self, taskman)
 

Public Attributes

 jobDir
 
 dsName
 
 taskName
 
 path
 
 status
 
 onDisk
 
 nResultFiles
 
 nJobs
 
 nJobsSubmitted
 
 nJobsRunning
 
 nJobsPostProc
 
 nJobsFailed
 
 nJobsCompleted
 

Detailed Description

TaskAnalyzer is a class for analyzing the files of a given task.

Definition at line 605 of file TaskManager.py.

Constructor & Destructor Documentation

◆ __init__()

def python.TaskManager.TaskAnalyzer.__init__ (   self,
  jobDir,
  dsName,
  taskName 
)

Definition at line 608 of file TaskManager.py.

608  def __init__(self,jobDir,dsName,taskName):
609  self.jobDir = jobDir
610  self.dsName = dsName
611  self.taskName = taskName
612  self.path = jobDir+'/'+dsName+'/'+taskName
613 
614  self.status = TaskManager.StatusCodes['UNKNOWN']
615  self.onDisk = TaskManager.OnDiskCodes['UNKNOWN']
616  self.nResultFiles = 0
617  self.nJobs = 0
618  self.nJobsSubmitted = 0
619  self.nJobsRunning = 0
620  self.nJobsPostProc = 0
621  self.nJobsFailed = 0
622  self.nJobsCompleted = 0
623 
624 

Member Function Documentation

◆ analyzeFiles()

def python.TaskManager.TaskAnalyzer.analyzeFiles (   self)

Definition at line 633 of file TaskManager.py.

633  def analyzeFiles(self):
634  onDisk = self.isOnDisk()
635  if onDisk:
636  self.nJobs = len(glob.glob(self.path+'/*/*.config.py'))
637  self.nResultFiles = len(glob.glob(self.path+'/*')) - self.nJobs
638  self.nJobsSubmitted = len(glob.glob(self.path+'/*/*.SUBMITTED'))
639  self.nJobsRunning = len(glob.glob(self.path+'/*/*.RUNNING'))
640  self.nJobsPostProc = len(glob.glob(self.path+'/*/*.POSTPROCESSING'))
641  self.nJobsCompleted = len(glob.glob(self.path+'/*/*.COMPLETED'))
642  self.nJobsFailed = self.nJobsCompleted - len(glob.glob(self.path+'/*/*.exit.0'))
643 
644  self.status = TaskManager.StatusCodes['UNKNOWN']
645  if self.nJobs>0:
646  self.status = TaskManager.StatusCodes['CONFIGURED']
647  if self.nJobs==self.nJobsCompleted:
648  self.status = TaskManager.StatusCodes['COMPLETED']
649 
650  if self.nJobsSubmitted>0:
651  self.status = TaskManager.StatusCodes['SUBMITTED']
652  if self.nJobsRunning>0:
653  self.status = TaskManager.StatusCodes['RUNNING']
654  if self.nJobsPostProc>0:
655  self.status = TaskManager.StatusCodes['POSTPROCESSING']
656  if self.nJobsFailed>0:
657  if self.nJobsSubmitted>0 or self.nJobsRunning>0 or self.nJobsPostProc>0:
658  self.status = TaskManager.StatusCodes['PARTIALFAILED']
659  else:
660  self.status = TaskManager.StatusCodes['FAILED']
661 
662  return onDisk
663 
664 

◆ isOnDisk()

def python.TaskManager.TaskAnalyzer.isOnDisk (   self)
Check if task directories are still on disk.

Definition at line 625 of file TaskManager.py.

625  def isOnDisk(self):
626  """Check if task directories are still on disk."""
627  onDisk = os.path.exists(self.path)
628  if not onDisk:
629  self.onDisk = TaskManager.OnDiskCodes['DELETED']
630  return onDisk
631 
632 

◆ updateStatus()

def python.TaskManager.TaskAnalyzer.updateStatus (   self,
  taskman 
)

Definition at line 665 of file TaskManager.py.

665  def updateStatus(self,taskman):
666  taskman.updateStatus(self.dsName,self.taskName,
667  self.status,self.nResultFiles,
668  self.nJobs,self.nJobsSubmitted,self.nJobsRunning,self.nJobsPostProc,self.nJobsFailed,self.nJobsCompleted)
669 
670 
671 

Member Data Documentation

◆ dsName

python.TaskManager.TaskAnalyzer.dsName

Definition at line 610 of file TaskManager.py.

◆ jobDir

python.TaskManager.TaskAnalyzer.jobDir

Definition at line 609 of file TaskManager.py.

◆ nJobs

python.TaskManager.TaskAnalyzer.nJobs

Definition at line 617 of file TaskManager.py.

◆ nJobsCompleted

python.TaskManager.TaskAnalyzer.nJobsCompleted

Definition at line 622 of file TaskManager.py.

◆ nJobsFailed

python.TaskManager.TaskAnalyzer.nJobsFailed

Definition at line 621 of file TaskManager.py.

◆ nJobsPostProc

python.TaskManager.TaskAnalyzer.nJobsPostProc

Definition at line 620 of file TaskManager.py.

◆ nJobsRunning

python.TaskManager.TaskAnalyzer.nJobsRunning

Definition at line 619 of file TaskManager.py.

◆ nJobsSubmitted

python.TaskManager.TaskAnalyzer.nJobsSubmitted

Definition at line 618 of file TaskManager.py.

◆ nResultFiles

python.TaskManager.TaskAnalyzer.nResultFiles

Definition at line 616 of file TaskManager.py.

◆ onDisk

python.TaskManager.TaskAnalyzer.onDisk

Definition at line 615 of file TaskManager.py.

◆ path

python.TaskManager.TaskAnalyzer.path

Definition at line 612 of file TaskManager.py.

◆ status

python.TaskManager.TaskAnalyzer.status

Definition at line 614 of file TaskManager.py.

◆ taskName

python.TaskManager.TaskAnalyzer.taskName

Definition at line 611 of file TaskManager.py.


The documentation for this class was generated from the following file:
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18