(我知道this question但它已经足够老了我现在要求更新答案了。)
我正在为AWS Batch for Airflow编写插件,在通过AWSBatchOperator
运算符将作业提交到Batch之后,我需要一种方法等待作业完成并通知Airflow。我正在为此编写传感器,因为它似乎是处理它的合适方式。
但是,当AWSBatchOperator
在AWS Batch中创建作业时,需要将该作业ID提交给Sensor,以便传感器知道要检查的作业。有没有简单的方法将信息从已完成的任务传递到其依赖任务?我知道XCom,但考虑到这种情况的简单性以及我认为这是传感器的常见问题,它看起来有点矫枉过正。
谢谢!
答案 0 :(得分:0)
如果您将信息从一个任务传递到下一个XCOM是唯一的方法(我在Airflow中知道)。或者除非先前的任务写入某个外部系统(消息队列,kafka缓冲区,s3存储桶等),后续步骤(传感器)检查外部值是否被触发。
答案 1 :(得分:0)
您可以将作业ID放入SQS队列和trigger a AWS lambda function中。 lambda函数可以依次trigger相应的DAG任务