Changeset View
Changeset View
Standalone View
Standalone View
python_modules/dagster/dagster/core/execution/host_mode.py
Show All 10 Lines | |||||
) | ) | ||||
from dagster.core.definitions.reconstructable import ReconstructablePipeline | from dagster.core.definitions.reconstructable import ReconstructablePipeline | ||||
from dagster.core.definitions.run_config import selector_for_named_defs | from dagster.core.definitions.run_config import selector_for_named_defs | ||||
from dagster.core.errors import ( | from dagster.core.errors import ( | ||||
DagsterError, | DagsterError, | ||||
DagsterInvalidConfigError, | DagsterInvalidConfigError, | ||||
DagsterInvariantViolationError, | DagsterInvariantViolationError, | ||||
) | ) | ||||
from dagster.core.events import DagsterEvent, PipelineInitFailureData | from dagster.core.events import DagsterEvent | ||||
from dagster.core.execution.plan.plan import ExecutionPlan | from dagster.core.execution.plan.plan import ExecutionPlan | ||||
from dagster.core.executor.init import InitExecutorContext | from dagster.core.executor.init import InitExecutorContext | ||||
from dagster.core.instance import DagsterInstance | from dagster.core.instance import DagsterInstance | ||||
from dagster.core.log_manager import DagsterLogManager | from dagster.core.log_manager import DagsterLogManager | ||||
from dagster.core.storage.pipeline_run import PipelineRun, PipelineRunStatus | from dagster.core.storage.pipeline_run import PipelineRun, PipelineRunStatus | ||||
from dagster.loggers import default_system_loggers | from dagster.loggers import default_system_loggers | ||||
from dagster.utils import ensure_single_item | from dagster.utils import ensure_single_item | ||||
from dagster.utils.error import serializable_error_info_from_exc_info | from dagster.utils.error import serializable_error_info_from_exc_info | ||||
▲ Show 20 Lines • Show All 103 Lines • ▼ Show 20 Lines | except DagsterError as dagster_error: | ||||
# pylint does not know original_exc_info exists is is_user_code_error is true | # pylint does not know original_exc_info exists is is_user_code_error is true | ||||
# pylint: disable=no-member | # pylint: disable=no-member | ||||
dagster_error.original_exc_info | dagster_error.original_exc_info | ||||
if dagster_error.is_user_code_error | if dagster_error.is_user_code_error | ||||
else sys.exc_info() | else sys.exc_info() | ||||
) | ) | ||||
error_info = serializable_error_info_from_exc_info(user_facing_exc_info) | error_info = serializable_error_info_from_exc_info(user_facing_exc_info) | ||||
yield DagsterEvent.pipeline_init_failure( | event = DagsterEvent.pipeline_failure( | ||||
pipeline_context_or_name=pipeline_run.pipeline_name, | |||||
context_msg=( | |||||
f'Pipeline failure during initialization for pipeline "{pipeline_run.pipeline_name}". ' | |||||
"This may be due to a failure in initializing the executor or one of the loggers." | |||||
), | |||||
error_info=error_info, | |||||
) | |||||
log_manager.error( | |||||
event.message, | |||||
dagster_event=event, | |||||
pipeline_name=pipeline_run.pipeline_name, | pipeline_name=pipeline_run.pipeline_name, | ||||
failure_data=PipelineInitFailureData(error=error_info), | |||||
log_manager=log_manager, | |||||
) | ) | ||||
yield event | |||||
else: | else: | ||||
# pipeline teardown failure | # pipeline teardown failure | ||||
raise dagster_error | raise dagster_error | ||||
if raise_on_error: | if raise_on_error: | ||||
raise dagster_error | raise dagster_error | ||||
▲ Show 20 Lines • Show All 59 Lines • Show Last 20 Lines |