def _get_log_output(self, oozie_workflow): log_output = '' q = QueryDict(self.request.GET, mutable=True) q['format'] = 'python' # Hack for triggering the good section in single_task_attempt_logs self.request.GET = q logs, workflow_actions, is_really_done = get_workflow_logs( self.request, oozie_workflow, make_links=False, log_start_pattern=self.LOG_START_PATTERN, log_end_pattern=self.LOG_END_PATTERN) if len(logs) > 0: log_output = logs.values()[0] if log_output.startswith('Unable to locate'): LOG.debug( 'Failed to get job attempt logs, possibly due to YARN archiving job to JHS. Will sleep and try again.' ) time.sleep(5.0) logs, workflow_actions, is_really_done = get_workflow_logs( self.request, oozie_workflow, make_links=False, log_start_pattern=self.LOG_START_PATTERN, log_end_pattern=self.LOG_END_PATTERN) if len(logs) > 0: log_output = logs.values()[0] return log_output
def _get_log_output(self, oozie_workflow): log_output = '' q = self.request.GET.copy() q['format'] = 'python' # Hack for triggering the good section in single_task_attempt_logs self.request.GET = q attempts = 0 max_attempts = 10 logs_found = False while not logs_found and attempts < max_attempts: logs, workflow_actions, is_really_done = get_workflow_logs( self.request, oozie_workflow, make_links=False, log_start_pattern=self.LOG_START_PATTERN, log_end_pattern=self.LOG_END_PATTERN) if logs: log_output = list(logs.values())[0] if log_output.startswith('Unable to locate'): LOG.debug( 'Failed to get job attempt logs, possibly due to YARN archiving job to JHS. Will sleep and try again.' ) time.sleep(2.0) else: logs_found = True attempts += 1 return log_output
def _get_log_output(self, oozie_workflow): log_output = '' q = QueryDict(self.request.GET, mutable=True) q['format'] = 'python' # Hack for triggering the good section in single_task_attempt_logs self.request.GET = q logs, workflow_actions, is_really_done = get_workflow_logs(self.request, oozie_workflow, make_links=False, log_start_pattern=self.LOG_START_PATTERN, log_end_pattern=self.LOG_END_PATTERN) if len(logs) > 0: log_output = logs.values()[0] if log_output.startswith('Unable to locate'): LOG.debug('Failed to get job attempt logs, possibly due to YARN archiving job to JHS. Will sleep and try again.') time.sleep(5.0) logs, workflow_actions, is_really_done = get_workflow_logs(self.request, oozie_workflow, make_links=False, log_start_pattern=self.LOG_START_PATTERN, log_end_pattern=self.LOG_END_PATTERN) if len(logs) > 0: log_output = logs.values()[0] return log_output
def get_log(self, request, oozie_workflow, make_links=True): return get_workflow_logs(request, oozie_workflow, make_links=make_links, log_start_pattern=self.LOG_START_PATTERN, log_end_pattern=self.LOG_END_PATTERN)