celery 是分布式任务队列,与调度工具 airflow 强强联合,可实现复杂的分布式任务调度,这就是 CeleryExecutor,有了 CeleryExecutor,你可以调度本地或远程机器上的作业,实现分布式任务调度。本文介绍如何配置 airflow 的 CeleryExecutor
操作步骤
CeleryExecutor 需要 Python 环境安装有 celery。
第一步: 安装celery
pip install celery
Celery 需要一个发送和接受消息的传输者 broker。RabbitMQ 和 Redis 官方推荐的生产环境级别的 broker,这里我们选用 Redis,只是因为安装起来非常方便,而 RabbitMQ 的安装需要 再安装 erlang 。
第二步:配置 airflow.cfg
修改 airflow.cfg
#修改 3 处: executor = CeleryExecutor broker_url = redis://127.0.0.1:6379/0 celery_result_backend = redis://127.0.0.1:6379/0
第三步:安装 python 的 redis 包,为启动 worker 作准备
pip install redis
可选:(配置rabbitMQ)
broker_url = amqp://ct:152108@localhost:5672/ct_airflow celery_result_backend = amqp://ct:152108@localhost:5672/ct_airflow executor = CeleryExecutor
第四步:运行 airflow
待确认步骤:初始化DB: ?
airflow initdb 若之前使用sqllite初始化过可使用 airflow resetdb
#启动webserver #后台运行 airflow webserver -p 9888-D airflow webserver -p 9888 #启动scheduler #后台运行 airflow scheduler -D airflow scheduler #启动worker #后台运行 airflow worker -D #如提示addres already use ,则查看 worker_log_server_port = 8793 是否被占用,如是则修改为 8974 等 #未被占用的端口 airflow worker #启动flower -- 可以不启动 #后台运行 airflow flower -D airflow flower
如果 airflow flower 运行报错,请执行 pip install flower 来安装 flower 。
分类:
airflow
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?