Loading lib/galaxy/schema/invocation.py +15 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,21 @@ class FailureReason(str, Enum): unexpected_failure = "unexpected_failure" # The reasons below are attached to the invocation and user-actionable. # Not included are `unexpected_failure` and `expression_evaluation_failed`. # If expression evaluation fails we're not attaching the templated # expression to the invocation, as it could contain secrets. # If the failure reason is not in `FAILURE_REASONS_EXPECTED` we should # log an exception so admins can debug and/or submit bug reports. FAILURE_REASONS_EXPECTED = ( FailureReason.dataset_failed, FailureReason.collection_failed, FailureReason.job_failed, FailureReason.output_not_found, FailureReason.when_not_boolean, ) class CancelReason(str, Enum): """Possible reasons for a cancelled workflow.""" Loading lib/galaxy/workflow/run.py +7 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ from galaxy.model.base import ( ) from galaxy.schema.invocation import ( CancelReason, FAILURE_REASONS_EXPECTED, FailureReason, InvocationCancellationHistoryDeleted, InvocationFailureCollectionFailed, Loading Loading @@ -251,8 +252,12 @@ class WorkflowInvoker: step_delayed = delayed_steps = True self.progress.mark_step_outputs_delayed(step, why=de.why) except Exception as e: log.exception( "Failed to schedule %s, problem occurred on %s.", log_function = log.exception if isinstance(e, modules.FailWorkflowEvaluation) and e.why.reason in FAILURE_REASONS_EXPECTED: log_function = log.info log_function( "Failed to schedule %s for %s, problem occurred on %s.", self.workflow_invocation.log_str(), self.workflow_invocation.workflow.log_str(), step.log_str(), ) Loading Loading
lib/galaxy/schema/invocation.py +15 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,21 @@ class FailureReason(str, Enum): unexpected_failure = "unexpected_failure" # The reasons below are attached to the invocation and user-actionable. # Not included are `unexpected_failure` and `expression_evaluation_failed`. # If expression evaluation fails we're not attaching the templated # expression to the invocation, as it could contain secrets. # If the failure reason is not in `FAILURE_REASONS_EXPECTED` we should # log an exception so admins can debug and/or submit bug reports. FAILURE_REASONS_EXPECTED = ( FailureReason.dataset_failed, FailureReason.collection_failed, FailureReason.job_failed, FailureReason.output_not_found, FailureReason.when_not_boolean, ) class CancelReason(str, Enum): """Possible reasons for a cancelled workflow.""" Loading
lib/galaxy/workflow/run.py +7 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ from galaxy.model.base import ( ) from galaxy.schema.invocation import ( CancelReason, FAILURE_REASONS_EXPECTED, FailureReason, InvocationCancellationHistoryDeleted, InvocationFailureCollectionFailed, Loading Loading @@ -251,8 +252,12 @@ class WorkflowInvoker: step_delayed = delayed_steps = True self.progress.mark_step_outputs_delayed(step, why=de.why) except Exception as e: log.exception( "Failed to schedule %s, problem occurred on %s.", log_function = log.exception if isinstance(e, modules.FailWorkflowEvaluation) and e.why.reason in FAILURE_REASONS_EXPECTED: log_function = log.info log_function( "Failed to schedule %s for %s, problem occurred on %s.", self.workflow_invocation.log_str(), self.workflow_invocation.workflow.log_str(), step.log_str(), ) Loading