def _wn_job_status_message(self, status, status_source, status_start_time): # Not null: EXECUTION_BACKEND, GRIDJOBID, JOB_ID_INSIDE_THE_TASK, TASKNAME, UNIQUEJOBID ji = self.job_info # called on worker node, so job_info is dictionary msg = { 'DESTCE': LCGUtil.wn_dest_ce(ji), 'DESTSITE': LCGUtil.wn_dest_site(ji), 'DESTWN': LCGUtil.wn_dest_wn(), 'EXECUTION_BACKEND': ji['EXECUTION_BACKEND'], 'GRIDEXITCODE': None, 'GRIDEXITREASON': None, 'GRIDJOBID': LCGUtil.wn_grid_job_id(ji), 'JOBEXITCODE': None, 'JOBEXITREASON': None, 'JOB_ID_INSIDE_THE_TASK': ji['JOB_ID_INSIDE_THE_TASK'], 'OWNERDN': ji['OWNERDN'], 'REPORTER': 'JobWN', 'REPORTTIME': CommonUtil.utcnow(), 'STATENAME': status, 'STATESOURCE': status_source, 'STATESTARTTIME': status_start_time, 'TASKNAME': ji['TASKNAME'], 'UNIQUEJOBID': ji['UNIQUEJOBID'], '___fqid' : ji['fqid'], } return msg
def _wn_job_processing_attributes_message(self): ji = self.job_info # called on worker node, so job_info is dictionary athena_stats = LCGAthenaUtil.wn_load_athena_stats() msg = { # e.g. https://grid-lb0.desy.de:9000/moqY5njFGurEuoDkkJmtBA 'GRIDJOBID': LCGUtil.wn_grid_job_id(ji), # subjob id e.g. 0 'JOB_ID_INSIDE_THE_TASK': ji['JOB_ID_INSIDE_THE_TASK'], # number of events processed. e.g. 100 'NEVENTSPROCESSED': athena_stats.get('totalevents'), # number of files processed. e.g. 2 'NFILESPROCESSED': athena_stats.get('numfiles'), 'REPORTER': 'JobWN', # e.g. ToolUI, JobWN # e.g. 2009-11-25T14:59:24.754249Z 'REPORTTIME': CommonUtil.utcnow(), # system cpu time in seconds. e.g. 38.45 'SYSTEMTIME': athena_stats.get('systemtime'), # e.g. # [email protected]:/afs/cern.ch/user/d/dtuckett/gangadir/repository/dtuckett/LocalAMGA 'TASKNAME': ji['TASKNAME'], # Ganga uuid e.g. 1c08ff3b-904f-4f77-a481-d6fa765813cb 'UNIQUEJOBID': ji['UNIQUEJOBID'], # user cpu time in seconds. e.g. 479.0 'USERTIME': athena_stats.get('usertime'), # wallclock time in seconds. e.g. 1040 'WALLCLOCK': athena_stats.get('wallclock'), '___fqid': ji['fqid'], } return msg