ATLAS Offline Software
Functions | Variables
taskman Namespace Reference

Functions

def getTaskManager (dbconn=None)
 

Variables

string __author__ = 'Juerg Beringer'
 
string __version__ = 'taskman.py atlas/athena'
 
string __usage__
 
 parser = OptionParser(usage=__usage__, version=__version__)
 
 dest
 
 action
 
 default
 
 False
 
 help
 
 None
 
 options
 
 args
 
 cmd = args[0]
 
 cmdargs = args[1:]
 
 proddir = options.proddir
 
 dbtype
 
 dbname
 
 a = raw_input('\nRECREATING TASK DATABASE SCHEMA - ANY EXISTING DATA WILL BE ERASED!\n\nARE YOU REALLY ABSOLUTELY SURE [n] ? ')
 
 dbconn
 
 createDatabase
 
 dbfile
 
 status = TaskManager.StatusCodes.get(statusName)
 
 output
 
int nDuplicates = 0
 
 qual = []
 
 dsname = cmdargs[0]
 
 taskname = cmdargs[1]
 
 taskList
 
 taskEntry = taskman.getTaskDict(t[0], t[1])
 
 taskpath = os.path.join(proddir, dsname, taskname)
 
list dirs = []
 
 dsName
 
 taskName
 
 nDefined
 
 configFile = glob.glob(os.path.join(proddir, dsName, taskName, '*', '*.config.py'))
 
 mtime = os.stat(configFile[0])[stat.ST_MTIME]
 
dictionary config = {}
 
dictionary template = config['jobConfig']['joboptionpath']
 
dictionary release = config['jobConfig']['release']
 
dictionary taskpostprocsteps = config['jobConfig']['taskpostprocsteps']
 
dictionary comment = config['jobConfig']['comment'] + ' (rebuilt from config file)'
 
 createdTime
 
 createdUser
 
 createdHost
 
 fromDbconn = cmdargs[0]
 
 wildcards = string.maketrans('*?', '%_')
 
 destDbtype
 
 destDbname
 
 fromDbtype
 
 fromDbname
 
int nImported = 0
 
string links = ''
 
 files = t.get('RESULTFILES','')
 
 summaryFiles = glob.glob('%s/%s/*beamspot.gif' % (dsname,taskname))
 
 f = r.split('/')[-1]
 
string pdf = f[:-3]+'pdf'
 
 monitoringFiles = glob.glob('%s/%s/*beamspotmon.gif' % (dsname,taskname))
 
string fieldNameString = ''
 
list params = []
 
 newFieldName = fieldName
 
list q = [ 'insert into TASKS (%s) values (' % fieldNameString ]
 
 statusName = cmdargs[2].upper()
 
int n = 0
 
 fieldName = cmdargs[2].upper()
 
 fieldValue = cmdargs[3]
 
 requireSingleTask
 
 confirmWithUser
 
 addWildCards
 
 batch
 
 True
 
string dir = '/'.join([proddir,dsname,task])
 
 earliestUpdateTime = time.time()-float(args[1])
 
 dsWidth = len(max([t['DSNAME'] for t in taskList],key=len))
 
 taskWidth = len(max([t['TASKNAME'] for t in taskList],key=len))
 
 statusWidth = len(max([t['STATUS'] for t in taskList],key=len))
 
string bodyFormat = '%%(DSNAME)%ss %%(TASKNAME)%ss %%(STATUS)%ss' %(dsWidth, taskWidth, statusWidth)
 
string mailBody = 'The following %s tasks have reported failures' % len(taskList)
 
 hours = round(float(args[1])/3600.)
 
int stat = os.system('source /afs/cern.ch/user/a/atlidbs/cron/mailwrapper; mailwrapper "[atlidbs] %s tasks report failures" "%s"' %(len(taskList), mailBody)) >> 8
 
def taskman = getTaskManager()
 
 debug
 

Function Documentation

◆ getTaskManager()

def taskman.getTaskManager (   dbconn = None)
Open task manager 

Definition at line 66 of file taskman.py.

66 def getTaskManager(dbconn=None):
67  ''' Open task manager '''
68  dbconn = dbconn or options.dbconn
69  try:
70  return TaskManager(dbconn)
71  except:
72  print ('ERROR: Unable to access task manager database %s' % dbconn)
73  sys.exit(1)
74 
75 #
76 # Initialize a new task database
77 #

Variable Documentation

◆ __author__

string taskman.__author__ = 'Juerg Beringer'
private

Definition at line 9 of file taskman.py.

◆ __usage__

string taskman.__usage__
private
Initial value:
1 = '''%prog [options] taskdbconn command [args ...]
2 
3 Commands are:
4 
5 init Create a new database
6 checkdb Check (and fix) sqlite database
7 checkdup Check task database for duplicate entries
8 debug Interactive debugging (EXPERTS ONLY!)
9 dump [DSNAME TASKNAME] Dump all or selected tasks in database
10 show DSNAME [TASKNAME] Show list of tasks
11 update Update information of ongoing tasks
12 update DSNAME TASKNAME Update information of selected tasks
13 rebuild [DSNAME TASKNAME] Rebuild missing or selected database entries from job files
14 import [DSNAME TASKNAME] DBCONN Import all or selected tasks from database DBCONN (duplicates not checked)
15 setstatus DSNAME TASKNAME STATUS Set status of selected tasks to STATUS
16 setfield DSNAME TASKNAME FIELDNAME VALUE Set database field to value (experts only!)
17 delete DSNAME TASKNAME Delete entry for selected task(s) (task files are NOT removed)
18 deleteResults DSNAME TASKNAME Delete postprocessing results for selected set of tasks
19 deleteTask DSNAME TASKNAME Delete task files and corresponding TaskManager entry
20  for a single task (will prompt for confirmation unless
21  option --batch is used)
22 '''

Definition at line 11 of file taskman.py.

◆ __version__

string taskman.__version__ = 'taskman.py atlas/athena'
private

Definition at line 10 of file taskman.py.

◆ a

taskman.a = raw_input('\nRECREATING TASK DATABASE SCHEMA - ANY EXISTING DATA WILL BE ERASED!\n\nARE YOU REALLY ABSOLUTELY SURE [n] ? ')

Definition at line 96 of file taskman.py.

◆ action

taskman.action

Definition at line 47 of file taskman.py.

◆ addWildCards

taskman.addWildCards

Definition at line 501 of file taskman.py.

◆ args

taskman.args

Definition at line 55 of file taskman.py.

◆ batch

taskman.batch

Definition at line 565 of file taskman.py.

◆ bodyFormat

string taskman.bodyFormat = '%%(DSNAME)%ss %%(TASKNAME)%ss %%(STATUS)%ss' %(dsWidth, taskWidth, statusWidth)

Definition at line 645 of file taskman.py.

◆ cmd

taskman.cmd = args[0]

Definition at line 59 of file taskman.py.

◆ cmdargs

taskman.cmdargs = args[1:]

Definition at line 60 of file taskman.py.

◆ comment

string taskman.comment = config['jobConfig']['comment'] + ' (rebuilt from config file)'

Definition at line 328 of file taskman.py.

◆ config

dictionary taskman.config = {}

Definition at line 313 of file taskman.py.

◆ configFile

taskman.configFile = glob.glob(os.path.join(proddir, dsName, taskName, '*', '*.config.py'))

Definition at line 310 of file taskman.py.

◆ confirmWithUser

taskman.confirmWithUser

Definition at line 500 of file taskman.py.

◆ createDatabase

taskman.createDatabase

Definition at line 99 of file taskman.py.

◆ createdHost

taskman.createdHost

Definition at line 334 of file taskman.py.

◆ createdTime

taskman.createdTime

Definition at line 332 of file taskman.py.

◆ createdUser

taskman.createdUser

Definition at line 333 of file taskman.py.

◆ dbconn

taskman.dbconn

Definition at line 99 of file taskman.py.

◆ dbfile

taskman.dbfile

Definition at line 109 of file taskman.py.

◆ dbname

taskman.dbname

Definition at line 81 of file taskman.py.

◆ dbtype

taskman.dbtype

Definition at line 81 of file taskman.py.

◆ debug

taskman.debug

Definition at line 668 of file taskman.py.

◆ default

taskman.default

Definition at line 47 of file taskman.py.

◆ dest

taskman.dest

Definition at line 47 of file taskman.py.

◆ destDbname

taskman.destDbname

Definition at line 379 of file taskman.py.

◆ destDbtype

taskman.destDbtype

Definition at line 379 of file taskman.py.

◆ dir

string taskman.dir = '/'.join([proddir,dsname,task])

Definition at line 569 of file taskman.py.

◆ dirs

list taskman.dirs = []

Definition at line 283 of file taskman.py.

◆ dsname

taskman.dsname = cmdargs[0]

Definition at line 185 of file taskman.py.

◆ dsName

taskman.dsName

Definition at line 291 of file taskman.py.

◆ dsWidth

taskman.dsWidth = len(max([t['DSNAME'] for t in taskList],key=len))

Definition at line 641 of file taskman.py.

◆ earliestUpdateTime

int taskman.earliestUpdateTime = time.time()-float(args[1])

Definition at line 624 of file taskman.py.

◆ f

taskman.f = r.split('/')[-1]

Definition at line 408 of file taskman.py.

◆ False

taskman.False

Definition at line 47 of file taskman.py.

◆ fieldName

taskman.fieldName = cmdargs[2].upper()

Definition at line 491 of file taskman.py.

◆ fieldNameString

string taskman.fieldNameString = ''

Definition at line 430 of file taskman.py.

◆ fieldValue

taskman.fieldValue = cmdargs[3]

Definition at line 492 of file taskman.py.

◆ files

string taskman.files = t.get('RESULTFILES','')

Definition at line 400 of file taskman.py.

◆ fromDbconn

taskman.fromDbconn = cmdargs[0]

Definition at line 356 of file taskman.py.

◆ fromDbname

taskman.fromDbname

Definition at line 380 of file taskman.py.

◆ fromDbtype

taskman.fromDbtype

Definition at line 380 of file taskman.py.

◆ help

taskman.help

Definition at line 47 of file taskman.py.

◆ hours

taskman.hours = round(float(args[1])/3600.)

Definition at line 649 of file taskman.py.

◆ links

string taskman.links = ''

Definition at line 399 of file taskman.py.

◆ mailBody

string taskman.mailBody = 'The following %s tasks have reported failures' % len(taskList)

Definition at line 647 of file taskman.py.

◆ monitoringFiles

taskman.monitoringFiles = glob.glob('%s/%s/*beamspotmon.gif' % (dsname,taskname))

Definition at line 416 of file taskman.py.

◆ mtime

taskman.mtime = os.stat(configFile[0])[stat.ST_MTIME]

Definition at line 312 of file taskman.py.

◆ n

int taskman.n = 0

Definition at line 477 of file taskman.py.

◆ nDefined

taskman.nDefined
Initial value:
1 = taskman.getNTasks([
2  'where DSNAME=', DbParam(dsName),
3  'and TASKNAME=', DbParam(taskName)])

Definition at line 292 of file taskman.py.

◆ nDuplicates

int taskman.nDuplicates = 0

Definition at line 151 of file taskman.py.

◆ newFieldName

string taskman.newFieldName = fieldName

Definition at line 433 of file taskman.py.

◆ nImported

int taskman.nImported = 0

Definition at line 390 of file taskman.py.

◆ None

taskman.None

Definition at line 52 of file taskman.py.

◆ options

taskman.options

Definition at line 55 of file taskman.py.

◆ output

taskman.output

Definition at line 117 of file taskman.py.

◆ params

list taskman.params = []

Definition at line 431 of file taskman.py.

◆ parser

taskman.parser = OptionParser(usage=__usage__, version=__version__)

Definition at line 45 of file taskman.py.

◆ pdf

string taskman.pdf = f[:-3]+'pdf'

Definition at line 409 of file taskman.py.

◆ proddir

taskman.proddir = options.proddir

Definition at line 62 of file taskman.py.

◆ q

list taskman.q = [ 'insert into TASKS (%s) values (' % fieldNameString ]

Definition at line 443 of file taskman.py.

◆ qual

list taskman.qual = []

Definition at line 157 of file taskman.py.

◆ release

string taskman.release = config['jobConfig']['release']

Definition at line 320 of file taskman.py.

◆ requireSingleTask

taskman.requireSingleTask

Definition at line 499 of file taskman.py.

◆ stat

int taskman.stat = os.system('source /afs/cern.ch/user/a/atlidbs/cron/mailwrapper; mailwrapper "[atlidbs] %s tasks report failures" "%s"' %(len(taskList), mailBody)) >> 8

Definition at line 653 of file taskman.py.

◆ status

Definition at line 117 of file taskman.py.

◆ statusName

taskman.statusName = cmdargs[2].upper()

Definition at line 460 of file taskman.py.

◆ statusWidth

taskman.statusWidth = len(max([t['STATUS'] for t in taskList],key=len))

Definition at line 643 of file taskman.py.

◆ summaryFiles

taskman.summaryFiles = glob.glob('%s/%s/*beamspot.gif' % (dsname,taskname))

Definition at line 405 of file taskman.py.

◆ taskEntry

taskman.taskEntry = taskman.getTaskDict(t[0], t[1])

Definition at line 195 of file taskman.py.

◆ taskList

list taskman.taskList
Initial value:
1 = getFullTaskNames(taskman, dsname, taskname,
2  addWildCards=not options.nowildcards)

Definition at line 190 of file taskman.py.

◆ taskman

def taskman.taskman = getTaskManager()

Definition at line 667 of file taskman.py.

◆ taskname

string taskman.taskname = cmdargs[1]

Definition at line 186 of file taskman.py.

◆ taskName

taskman.taskName

Definition at line 291 of file taskman.py.

◆ taskpath

taskman.taskpath = os.path.join(proddir, dsname, taskname)

Definition at line 273 of file taskman.py.

◆ taskpostprocsteps

string taskman.taskpostprocsteps = config['jobConfig']['taskpostprocsteps']

Definition at line 324 of file taskman.py.

◆ taskWidth

taskman.taskWidth = len(max([t['TASKNAME'] for t in taskList],key=len))

Definition at line 642 of file taskman.py.

◆ template

string taskman.template = config['jobConfig']['joboptionpath']

Definition at line 316 of file taskman.py.

◆ True

taskman.True

Definition at line 565 of file taskman.py.

◆ wildcards

taskman.wildcards = string.maketrans('*?', '%_')

Definition at line 365 of file taskman.py.

python.TaskManager.getFullTaskNames
def getFullTaskNames(taskman, dsname, taskname, requireSingleTask=False, confirmWithUser=False, addWildCards=True)
Definition: TaskManager.py:72
taskman.getTaskManager
def getTaskManager(dbconn=None)
Definition: taskman.py:66