ATLAS Offline Software
Loading...
Searching...
No Matches
python.TaskManager.TaskAnalyzer Class Reference
Collaboration diagram for python.TaskManager.TaskAnalyzer:

Public Member Functions

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

Public Attributes

 jobDir = jobDir
 dsName = dsName
 taskName = taskName
str path = jobDir+'/'+dsName+'/'+taskName
 status = TaskManager.StatusCodes['UNKNOWN']
 onDisk = TaskManager.OnDiskCodes['UNKNOWN']
int nResultFiles = 0
int nJobs = 0
int nJobsSubmitted = 0
int nJobsRunning = 0
int nJobsPostProc = 0
int nJobsFailed = 0
int nJobsCompleted = 0

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

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

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

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

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 = dsName

Definition at line 610 of file TaskManager.py.

◆ jobDir

python.TaskManager.TaskAnalyzer.jobDir = jobDir

Definition at line 609 of file TaskManager.py.

◆ nJobs

python.TaskManager.TaskAnalyzer.nJobs = 0

Definition at line 617 of file TaskManager.py.

◆ nJobsCompleted

python.TaskManager.TaskAnalyzer.nJobsCompleted = 0

Definition at line 622 of file TaskManager.py.

◆ nJobsFailed

python.TaskManager.TaskAnalyzer.nJobsFailed = 0

Definition at line 621 of file TaskManager.py.

◆ nJobsPostProc

python.TaskManager.TaskAnalyzer.nJobsPostProc = 0

Definition at line 620 of file TaskManager.py.

◆ nJobsRunning

python.TaskManager.TaskAnalyzer.nJobsRunning = 0

Definition at line 619 of file TaskManager.py.

◆ nJobsSubmitted

python.TaskManager.TaskAnalyzer.nJobsSubmitted = 0

Definition at line 618 of file TaskManager.py.

◆ nResultFiles

python.TaskManager.TaskAnalyzer.nResultFiles = 0

Definition at line 616 of file TaskManager.py.

◆ onDisk

python.TaskManager.TaskAnalyzer.onDisk = TaskManager.OnDiskCodes['UNKNOWN']

Definition at line 615 of file TaskManager.py.

◆ path

str python.TaskManager.TaskAnalyzer.path = jobDir+'/'+dsName+'/'+taskName

Definition at line 612 of file TaskManager.py.

◆ status

python.TaskManager.TaskAnalyzer.status = TaskManager.StatusCodes['UNKNOWN']

Definition at line 614 of file TaskManager.py.

◆ taskName

python.TaskManager.TaskAnalyzer.taskName = taskName

Definition at line 611 of file TaskManager.py.


The documentation for this class was generated from the following file: