def _build_fail_info_message(wf_ctrl, wf_ex): # Try to find where error is exactly. failed_tasks = sorted(filter( lambda t: not wf_ctrl.is_error_handled_for(t), lookup_utils.find_error_task_executions(wf_ex.id)), key=lambda t: t.name) msg = ('Failure caused by error in tasks: %s\n' % ', '.join([t.name for t in failed_tasks])) for t in failed_tasks: msg += '\n %s [task_ex_id=%s] -> %s\n' % (t.name, t.id, t.state_info) for i, ex in enumerate(t.action_executions): if ex.state == states.ERROR: output = (ex.output or dict()).get('result', 'Unknown') msg += (' [action_ex_id=%s, idx=%s]: %s\n' % (ex.id, i, str(output))) for i, ex in enumerate(t.workflow_executions): if ex.state == states.ERROR: output = (ex.output or dict()).get('result', 'Unknown') msg += (' [wf_ex_id=%s, idx=%s]: %s\n' % (ex.id, i, str(output))) return msg
def all_errors_handled(self): for t_ex in lookup_utils.find_error_task_executions(self.wf_ex.id): ctx_view = data_flow.ContextView( data_flow.evaluate_task_outbound_context(t_ex), self.wf_ex.context, self.wf_ex.input) tasks_on_error = self._find_next_tasks_for_clause( self.wf_spec.get_on_error_clause(t_ex.name), ctx_view) if not tasks_on_error: return False return True
def all_errors_handled(self): for t_ex in lookup_utils.find_error_task_executions(self.wf_ex.id): ctx_view = data_flow.ContextView( data_flow.evaluate_task_outbound_context(t_ex), self.wf_ex.context, self.wf_ex.input ) tasks_on_error = self._find_next_tasks_for_clause( self.wf_spec.get_on_error_clause(t_ex.name), ctx_view ) if not tasks_on_error: return False return True
def _build_fail_info_message(wf_ctrl, wf_ex): # Try to find where error is exactly. failed_tasks = sorted( filter( lambda t: not wf_ctrl.is_error_handled_for(t), lookup_utils.find_error_task_executions(wf_ex.id) ), key=lambda t: t.name ) msg = ('Failure caused by error in tasks: %s\n' % ', '.join([t.name for t in failed_tasks])) for t in failed_tasks: msg += '\n %s [task_ex_id=%s] -> %s\n' % (t.name, t.id, t.state_info) for i, ex in enumerate(t.action_executions): if ex.state == states.ERROR: output = (ex.output or dict()).get('result', 'Unknown') msg += ( ' [action_ex_id=%s, idx=%s]: %s\n' % ( ex.id, i, str(output) ) ) for i, ex in enumerate(t.workflow_executions): if ex.state == states.ERROR: output = (ex.output or dict()).get('result', 'Unknown') msg += ( ' [wf_ex_id=%s, idx=%s]: %s\n' % ( ex.id, i, str(output) ) ) return msg
def all_errors_handled(self): task_execs = lookup_utils.find_error_task_executions(self.wf_ex.id) return len(task_execs) == 0
def all_errors_handled(self): task_execs = lookup_utils.find_error_task_executions(self.wf_ex.id) return len(task_execs) == 0