You are viewing an outdated version of the documentation.

This documentation is for an older version (1.4.7) of Dagster. You can view the version of this page from our latest release below.

Source code for dagster._core.executor.base

from abc import ABC, abstractmethod
from typing import TYPE_CHECKING, Iterator

from dagster._annotations import public
from dagster._core.execution.retries import RetryMode

if TYPE_CHECKING:
    from dagster._core.events import DagsterEvent
    from dagster._core.execution.context.system import PlanOrchestrationContext
    from dagster._core.execution.plan.plan import ExecutionPlan


[docs]class Executor(ABC):
[docs] @public @abstractmethod def execute( self, plan_context: "PlanOrchestrationContext", execution_plan: "ExecutionPlan" ) -> Iterator["DagsterEvent"]: """For the given context and execution plan, orchestrate a series of sub plan executions in a way that satisfies the whole plan being executed. Args: plan_context (PlanOrchestrationContext): The plan's orchestration context. execution_plan (ExecutionPlan): The plan to execute. Returns: A stream of dagster events. """
@public @property @abstractmethod def retries(self) -> RetryMode: """Whether retries are enabled or disabled for this instance of the executor. Executors should allow this to be controlled via configuration if possible. Returns: RetryMode """