def _cl_job_status_message(self, status, status_source, status_start_time=None): # Not null: EXECUTION_BACKEND, GRIDJOBID, JOB_ID_INSIDE_THE_TASK, TASKNAME, UNIQUEJOBID j = self.job_info # called on client, so job_info is Job object msg = { 'DESTCE': LCGUtil.cl_dest_ce(j), # Actual CE. e.g. ce-3-fzk.gridka.de:2119/jobmanager-pbspro-atlasXS 'DESTSITE': None, # Actual site. e.g. FZK-LCG2 'DESTWN': None, # Actual worker node hostname. e.g. c01-102-103.gridka.de 'EXECUTION_BACKEND': LCGUtil.cl_execution_backend(j), # Backend. e.g. LCG 'GRIDEXITCODE': None, # e.g. 0 'GRIDEXITREASON': None, # e.g. Job terminated successfully 'GRIDJOBID': LCGUtil.cl_grid_job_id(j), # e.g. https://grid-lb0.desy.de:9000/moqY5njFGurEuoDkkJmtBA 'JOBEXITCODE': None, # e.g. 0 'JOBEXITREASON': None, 'JOB_ID_INSIDE_THE_TASK': LCGUtil.cl_job_id_inside_the_task(j), # subjob id e.g. 0 'OWNERDN': LCGUtil.cl_ownerdn(), # Grid certificate. e.g. /DC=ch/DC=cern/OU=Organic Units/OU=Users/CN=dtuckett/CN=671431/CN=David Tuckett/CN=proxy 'REPORTER': 'ToolUI', # e.g. ToolUI, JobWN 'REPORTTIME': CommonUtil.utcnow(), # e.g. 2009-11-25T14:59:24.754249Z 'STATENAME': status, # e.g. submitted, Done (Success) 'STATESOURCE': status_source, # e.g. Ganga, LB 'STATESTARTTIME': status_start_time, # e.g. 2009-11-25T14:32:51.428988Z 'TASKNAME': LCGUtil.cl_task_name(j), # e.g. ganga:6702b50a-8a31-4476-8189-62ea5b8e00b3:TrigStudy 'UNIQUEJOBID': LCGUtil.cl_unique_job_id(j), # Ganga uuid e.g. 1c08ff3b-904f-4f77-a481-d6fa765813cb '___fqid' : j.fqid, } return msg
def _cl_job_meta_message(self): j = self.job_info # called on client, so job_info is Job object msg = { # e.g. https://grid-lb0.desy.de:9000/moqY5njFGurEuoDkkJmtBA 'GRIDJOBID': LCGUtil.cl_grid_job_id(j), # e.g. fdr08_run2.0052283.physics_Muon.merge.AOD.o3_f8_m10 'INPUTDATASET': LCGAthenaUtil.cl_input_dataset(j), # subjob id e.g. 0 'JOB_ID_INSIDE_THE_TASK': LCGUtil.cl_job_id_inside_the_task(j), # None or non-negative number e.g. 100 'NEVENTSREQUESTED': LCGAthenaUtil.cl_nevents_requested(j), # e.g. user09.DavidTuckett.ganga.420.20091125.FZK-LCG2_SCRATCHDISK 'OUTPUTDATASET': LCGAthenaUtil.cl_output_dataset(j), # Unknown at submission. e.g. FZK-LCG2_SCRATCHDISK 'OUTPUTSE': LCGAthenaUtil.cl_output_se(j), 'PILOT': 0, # 0 = not pilot, 1 = pilot 'PILOTNAME': None, 'REPORTER': 'ToolUI', # e.g. ToolUI, JobWN # e.g. 2009-11-25T14:59:24.754249Z 'REPORTTIME': CommonUtil.utcnow(), # e.g. CE_xxx,SITE_CSCS-LCG2_DATADISK,SITE_DESY-ZN_DATADISK 'TARGET': LCGAthenaUtil.cl_target(j), # e.g. ganga:6702b50a-8a31-4476-8189-62ea5b8e00b3:TrigStudy 'TASKNAME': LCGUtil.cl_task_name(j), # Ganga uuid e.g. 1c08ff3b-904f-4f77-a481-d6fa765813cb 'UNIQUEJOBID': LCGUtil.cl_unique_job_id(j), '___fqid': j.fqid, } return msg
def getJobInfo(self): """Create job_info from Job object.""" j = self.job_info # called on client, so job_info is Job object ji = { 'fqid': j.fqid, 'EXECUTION_BACKEND': LCGUtil.cl_execution_backend(j), 'OWNERDN': LCGUtil.cl_ownerdn(), 'JOB_ID_INSIDE_THE_TASK': LCGUtil.cl_job_id_inside_the_task(j), 'TASKNAME': LCGUtil.cl_task_name(j), 'UNIQUEJOBID': LCGUtil.cl_unique_job_id(j), } return ji