【问题标题】:Airflow resource pool usage on DAG-level?DAG 级别的气流资源池使用情况?
【发布时间】:2019-01-07 09:13:11
【问题描述】:

我正在研究使用气流在实验室中针对共享硬件安排测试用例的执行,并且有一些关于如何将资源池概念用于整个 DAG 实例而不是仅用于任务级别的最佳实践问题。

基本上,测试用例需要(作为测试用例 DAG 的实例执行(部署/执行/收集/取消部署))某些物理资源,因此应该从不同的资源池中请求它们(对物理资源进行建模)资源),以免与其他触发的 DAG 实例发生冲突的并发使用。

我的问题是是否可以在 DAG 实例级别定义资源使用情况,或者是否只能在任务级别定义。如果是后者,那么在整个 DAG 实例执行期间声明资源的并行任务是否是处理不必在 DAG 中的所有任务之间传递资源声明的最佳方式?其他选择?

Viraj 和 dlamblin 提出问题后更新: 运行 1.10.1

运行本地执行器

已验证我可以使用并发任务运行并行 DAGS

我想要自定义池的资源不是工作资源,而是不同的外围硬件单元,例如中继、路由器等,如果它们被占用,本地执行器上并行运行的任务应该阻塞(0 自定义资源池剩下的实例)由一个/-其他任务

【问题讨论】:

  • 您运行的是哪个版本的 Airfllow?你是如何运行它的(例如在 EC2s 上,在 Kubernetes 上)。

标签: airflow


【解决方案1】:

Kubernetes Executor 允许在任务或 dag 级别上配置某些节点类型的亲和性。 Celery Executor 有一个队列概念,可以从具有某些可用资源的工作组中进行选择。您可能没有使用本地执行器,因为您的问题对于这种情况不太有意义。

【讨论】:

  • 更新问题的详细信息。你能解释一下为什么你认为这对本地执行人没有意义吗?我可能需要澄清一些事情。
猜你喜欢
  • 1970-01-01
  • 2019-10-13
  • 1970-01-01
  • 2022-12-13
  • 1970-01-01
  • 2023-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多