将 NodeJS 作业迁移到 Airflow

Pau*_*haw 5 node.js directed-acyclic-graphs airflow

我正在考虑将几个 Nodejs 作业迁移到 apache Airflow。

这些作业记录到标准输出。我是 Airflow 的新手,并已将其设置在 docker 中运行。理想情况下,我们将更新这些作业以使用气流提供的连接,但我不确定这是否可行。

通过将nodejs安装到bash操作符中,我们成功运行了该作业:

t1 = BashOperator(
    task_id='task_1',
    bash_command='/usr/bin/nodejs /usr/local/airflow/dags/test.js',
    dag=dag)
Run Code Online (Sandbox Code Playgroud)

这是一个好方法吗?或者编写一个 Nodejs 运算符是更好的方法吗?

我还考虑过将节点代码放在 HTTP 服务后面,这将是我的首选方法,但随后我们丢失了日志。

关于如何在 Airflow 中最好地构建它有什么想法吗?

Pet*_*ing 4

bash 方法是可行的,但维护 Nodejs 依赖关系将非常困难。我会将代码迁移到容器中,然后使用docker_operator / KubernetesPodOperator。