我在气流中有一个任务,它使用 DockerSwarmOperator 来运行一个短期容器。一旦容器完成执行且没有错误(期望状态:关闭),Airflow 中的任务将永远保持“正在运行”状态...请建议。谢谢!
服务器:Oracle Linux 9 气流2.4.2 Docker 运行在 Linux 服务器中
start_dag = DummyOperator(
task_id='start_dag'
)
end_dag = DummyOperator(
task_id='end_dag'
)
hop = DockerSwarmOperator(
task_id='Job_exec_HOP',
image='apache/hop',
api_version='auto',
auto_remove=True,
environment= {
'HOP_RUN_PARAMETERS': 'INPUT_DIR=',
'HOP_LOG_LEVEL': 'Basic',
'HOP_FILE_PATH': '${PROJECT_HOME}/J01_BIT_DW_VENTAS_NAVEGADOR.hwf',
'HOP_PROJECT_FOLDER': '/files/INDUTOP_BI_ETL',
'HOP_PROJECT_NAME': 'INDUTOP_BI_ETL',
'HOP_SHARED_JDBC_FOLDER': '/files/JDBC_FOLDER',
'HOP_RUN_CONFIG': 'local'
},
docker_url="unix://var/run/docker.sock",
network_mode="bridge",
mounts=[Mount(source='/mnt/hop_bi_etl/hopdata', target='/files', type='bind')],
force_pull=False
)
start_dag >> hop >> end_dag ```