2

(我知道这个问题,但我现在问的已经够老了,希望有更新的答案。)

我正在为 AWS Batch for Airflow 编写一个插件,并且在通过AWSBatchOperator操作员将作业提交给 Batch 后,我需要一种方法来等到作业完成并通知 Airflow。我正在为此编写一个传感器,因为它似乎是处理它的适当方式。

但是,当AWSBatchOperator在 AWS Batch 中创建作业时,它需要将该作业 ID 提交给传感器,以便传感器知道要检查什么作业。是否有任何简单的方法可以将信息从已完成的任务传递到其依赖任务?我知道 XCom,但考虑到这种情况的简单性以及我认为这是传感器的常见问题,这似乎有点矫枉过正。

谢谢!

4

2 回答 2

0

如果您将信息从一个任务传递到下一个 XCOM 是唯一的方法(我在 Airflow 中知道)。或者,除非先前的任务写入某个外部系统(消息队列、kafka 缓冲区、s3 存储桶等)并且后续步骤(传感器)检查该外部值以被触发。

于 2017-02-16T12:44:20.550 回答
0

您可以将作业 ID 放入 SQS 队列并触发 AWS lambda 函数。lambda 函数可以依次触发相应的 DAG 任务

于 2019-01-23T11:06:33.443 回答