【发布时间】:2021-02-18 18:29:49
【问题描述】:
我有一个 DAG,可以将文件从 GCS 下载到本地气流临时文件夹
tmp_local_filepath="/usr/local/airflow/"+...
然后有操作员将其发送到 SFTP 文件夹
sftp_transfer = SFTPOperator(
dag=dag,
task_id="file-copy-gsc-to-sftp",
ssh_hook=SSHHook("sftp_conn"),
local_filepath=tmp_local_filepath,
remote_filepath=ftp_remote_filepath,
operation="put",
)
但是由于超时错误,它会间歇性地失败(大约 50% 的时间)。
Error while transferring None, error: [Errno 110] Connection timed out
我试过了:
- 更改 FTP 和 SSH 之间的连接类型
- 在连接Extras中添加
{"timeout"="60"}以延长时间 - 如上所述将其添加为 SSHHook - DAG 是从旧的稳定系统(几乎完好无损)迁移而来的,该系统直接使用连接而不创建挂钩。
它仍然有一半时间超时,我不知道为什么,但这是我需要稳定的关键功能。
我们正在 Astronomer 上运行 Airflow v1.10.7+astro.11
现在欢迎任何建议,因为我正在拔头发! :)
【问题讨论】: