For more information on how the DebugExecutor works, take a look at the guide: Debug Executor
This executor is meant for debugging purposes. It can be used with SQLite.
It executes one task instance at time. Additionally to support working with sensors, all sensors
modewill be automatically set to "reschedule".
execute_async(self, *args, **kwargs)¶
The method is replaced by custom trigger_task implementation.
_run_task(self, ti: TaskInstance)¶
queue_task_instance(self, task_instance: TaskInstance, mark_success: bool = False, pickle_id: Optional[str] = None, ignore_all_deps: bool = False, ignore_depends_on_past: bool = False, ignore_task_deps: bool = False, ignore_ti_state: bool = False, pool: Optional[str] = None, cfg_path: Optional[str] = None)¶
Queues task instance with empty command because we do not need it.
trigger_tasks(self, open_slots: int)¶
Triggers tasks. Instead of calling exec_async we just add task instance to tasks_to_run queue.
open_slots -- Number of open slots
When the method is called we just set states of queued tasks to UPSTREAM_FAILED marking them as not executed.