Ask AI

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 """