【问题标题】:Migrating from django celery tasks to apache airflow从 django celery 任务迁移到 apache 气流
【发布时间】:2020-12-18 06:11:20
【问题描述】:

我有一个 python/django 项目(在 docker 容器中运行)。有一个通过 celery 任务实现的数据收集工作流,这些任务相互依赖并并行运行。

我想将所有这些逻辑迁移到 apache airflow,因为我认为它适合我的需要,并且启动和重新启动任务、构建更复杂的工作流、监控和调试会更方便。

我以前从未使用过气流。我的计划合理吗?我从哪里开始?我应该使用什么执行器?

【问题讨论】:

  • 我会说你的计划毫无意义。气流不是执行引擎。在任何时间点运行任意任务并不是 Airflow 中的常见模式 - 它通常会调度 DAG,以便某些执行系统在指定时间(Cerlery 或 Kubernetes)运行它们。如果你出于某种原因不喜欢 Celery,那么让 Django 直接在 Kubernetes 上运行东西。我认识使用Huey 来实现相同目的的人。就我个人而言 - 我总是先使用 Celery,直到我遇到它无法做到的事情。

标签: django celery airflow celery-task


【解决方案1】:

有道理,apache 气流上也有相同的 celery 执行器。

https://airflow.apache.org/docs/stable/executor/index.html

您可以复制您的代码以在以下气流泊坞窗上进行测试。

https://github.com/puckel/docker-airflow

在气流工具上,您可以通过 dag 上的任务管理、调度、监控所有这些代码

上面有 dags 的例子

https://github.com/apache/airflow/tree/master/airflow/example_dags

你可以从这个开始-

https://github.com/apache/airflow/blob/master/airflow/example_dags/tutorial.py

【讨论】:

  • 谢谢,我试试看
猜你喜欢
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
  • 2019-11-08
  • 1970-01-01
  • 2011-06-19
相关资源
最近更新 更多