def complete(self, **opts): """Log complete event on client.""" j = self.job_info # called on client, so job_info is Job object self._log('debug', 'complete %s' % j.fqid) # ignore master wrapper jobs if j.subjobs: self._log('debug', 'Not sending unwanted message on complete for master wrapper job %s.' % j.fqid) return # send LB Done job-status message message = self._cl_job_status_message(LCGUtil.cl_grid_status(j), 'LB', None) message['GRIDEXITCODE'] = LCGUtil.cl_grid_exit_code(j) message['GRIDEXITREASON'] = LCGUtil.cl_grid_exit_reason(j) self._send(self.config_info['destination_job_status'], message)