airflow.providers.celery.executors.celery_executor

CeleryExecutor。

另请参阅

有关 CeleryExecutor 工作原理的更多信息,请参阅指南:Celery 执行器

属性

log

CELERY_SEND_ERR_MSG_HEADER

ARG_BROKER_API

ARG_FLOWER_HOSTNAME

ARG_FLOWER_PORT

ARG_FLOWER_CONF

ARG_FLOWER_URL_PREFIX

ARG_FLOWER_BASIC_AUTH

ARG_AUTOSCALE

ARG_QUEUES

ARG_CONCURRENCY

ARG_CELERY_HOSTNAME

ARG_UMASK

ARG_WITHOUT_MINGLE

ARG_WITHOUT_GOSSIP

CELERY_CLI_COMMAND_PATH

CELERY_COMMANDS

CeleryExecutor

CeleryExecutor 推荐用于 Airflow 的生产环境。

函数

__getattr__(name)

模块内容

airflow.providers.celery.executors.celery_executor.log[source]
airflow.providers.celery.executors.celery_executor.CELERY_SEND_ERR_MSG_HEADER = 'Error sending Celery task'[source]
airflow.providers.celery.executors.celery_executor.__getattr__(name)[source]
airflow.providers.celery.executors.celery_executor.ARG_BROKER_API[source]
airflow.providers.celery.executors.celery_executor.ARG_FLOWER_HOSTNAME[source]
airflow.providers.celery.executors.celery_executor.ARG_FLOWER_PORT[source]
airflow.providers.celery.executors.celery_executor.ARG_FLOWER_CONF[source]
airflow.providers.celery.executors.celery_executor.ARG_FLOWER_URL_PREFIX[source]
airflow.providers.celery.executors.celery_executor.ARG_FLOWER_BASIC_AUTH[source]
airflow.providers.celery.executors.celery_executor.ARG_AUTOSCALE[source]
airflow.providers.celery.executors.celery_executor.ARG_QUEUES[source]
airflow.providers.celery.executors.celery_executor.ARG_CONCURRENCY[source]
airflow.providers.celery.executors.celery_executor.ARG_CELERY_HOSTNAME[source]
airflow.providers.celery.executors.celery_executor.ARG_UMASK[source]
airflow.providers.celery.executors.celery_executor.ARG_WITHOUT_MINGLE[source]
airflow.providers.celery.executors.celery_executor.ARG_WITHOUT_GOSSIP[source]
airflow.providers.celery.executors.celery_executor.CELERY_CLI_COMMAND_PATH = 'airflow.providers.celery.cli.celery_command'[source]
airflow.providers.celery.executors.celery_executor.CELERY_COMMANDS[source]
class airflow.providers.celery.executors.celery_executor.CeleryExecutor[source]

基类: airflow.executors.base_executor.BaseExecutor

CeleryExecutor 推荐用于 Airflow 的生产环境。

它允许将任务实例的执行分发到多个工作节点。

Celery 是一个简单、灵活且可靠的分布式系统,用于处理大量消息,同时为操作人员提供维护此类系统所需的工具。

supports_ad_hoc_ti_run: bool = True[source]
supports_sentry: bool = True[source]
queued_tasks: dict[airflow.models.taskinstancekey.TaskInstanceKey, airflow.executors.workloads.All][source]
bulk_state_fetcher[source]
tasks[source]
task_publish_retries: collections.Counter[airflow.models.taskinstancekey.TaskInstanceKey][source]
task_publish_max_retries[source]
start()[source]

执行器可能需要启动一些操作。

sync()[source]

Sync 方法会由心跳方法定期调用。

执行器应重写此方法以收集状态。

debug_dump()[source]

调试转储;由调度器响应 SIGUSR2 调用。

update_all_task_states()[source]

更新任务的状态。

change_state(key, state, info=None, remove_running=True)[source]

更改任务的状态。

参数:
update_task_state(key, state, info)[source]

更新单个任务的状态。

end(synchronous=False)[source]

同步等待先前提交的作业完成。

terminate()[source]

守护进程接收到 SIGTERM 信号时调用。

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) – 要移除的任务实例

static get_cli_commands()[source]

提供要包含在 Airflow CLI 中的 CLI 命令。

重写此方法可通过 Airflow CLI 公开命令,用于管理此执行器。这些命令可以用于设置/拆卸执行器、检查状态等。请确保为这些命令选择唯一的名称,以避免冲突。

queue_workload(workload, session)[source]

此条目有帮助吗?