airflow.providers.celery.executors.celery_executor¶
CeleryExecutor。
另请参阅
有关 CeleryExecutor 工作原理的更多信息,请参阅指南:Celery 执行器
属性¶
类¶
CeleryExecutor 推荐用于 Airflow 的生产环境。 |
函数¶
|
模块内容¶
- airflow.providers.celery.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER = 'Error sending Celery task'[source]¶
- airflow.providers.celery.executors.celery_executor.CELERY_CLI_COMMAND_PATH = 'airflow.providers.celery.cli.celery_command'[source]¶
- class airflow.providers.celery.executors.celery_executor.CeleryExecutor[source]¶
基类:
airflow.executors.base_executor.BaseExecutor
CeleryExecutor 推荐用于 Airflow 的生产环境。
它允许将任务实例的执行分发到多个工作节点。
Celery 是一个简单、灵活且可靠的分布式系统,用于处理大量消息,同时为操作人员提供维护此类系统所需的工具。
- queued_tasks: dict[airflow.models.taskinstancekey.TaskInstanceKey, airflow.executors.workloads.All][source]¶
- task_publish_retries: collections.Counter[airflow.models.taskinstancekey.TaskInstanceKey][source]¶
- change_state(key, state, info=None, remove_running=True)[source]¶
更改任务的状态。
- 参数:
key (airflow.models.taskinstancekey.TaskInstanceKey) – 任务实例的唯一键
state (airflow.utils.state.TaskInstanceState) – 要为任务设置的状态。
info – 任务实例的执行器信息
remove_running – 是否从运行中的集合中移除 TI 键
- try_adopt_task_instances(tis)[source]¶
尝试接管因 SchedulerJob 死亡而被遗弃的运行中的任务实例。
任何未被接管的任务实例将被调度器清除(然后可以重新调度)
- 返回值:
任何未能被接管的任务实例
- 返回类型:
collections.abc.Sequence[airflow.models.taskinstance.TaskInstance]
- cleanup_stuck_queued_tasks(tis)[source]¶
从执行器中移除卡在队列中的任务并使其失败。
此方法已弃用。请改用 cleanup_tasks_stuck_in_queued。
- revoke_task(*, ti)[source]¶
尝试从执行器中移除任务。
它应尝试确保任务不再在工作节点上运行,并确保其从内部数据结构中清除。
它不应更改任务在 Airflow 中的状态,也不应向事件缓冲区添加任何事件。
它不应引发任何错误。
- 参数:
ti (airflow.models.taskinstance.TaskInstance) – 要移除的任务实例