【发布时间】:2021-05-06 16:45:47
【问题描述】:
Talend Open Studio for Data Integration,V7.2.1。
我正在开发一个使用 tssh 组件的 ETL 进程,以在远程服务器上执行 shell 脚本。远程服务器上的执行完成后,它会继续主机服务器上的进程。
如果远程服务器上的进程需要几分钟,talend 作业似乎可以正常工作,但如果远程服务器上的进程需要更长的时间(在这种情况下超过 1 小时),它就会挂起。即使在远程服务器上的进程完成后,主机服务器上的进程也不会继续。它不会抛出任何错误,但 java 进程似乎无限期地运行,没有任何实际进展。
我尝试了以下但没有成功 -
- 我最初使用 onComponentOk 触发器将 tssh 组件连接到 tsystem 组件,没有任何超时设置。
- 我在 tssh 组件中添加了退出命令,在调用执行 shell 脚本之后,尝试关闭连接。
- 我在 tssh 组件中添加了超时设置,并在检查 exit_code 时使用 Runif 触发器将 tssh 连接到 tsytem。 ((整数)globalMap.get("tSSH_1_EXIT_CODE")) == 0
如果 tssh 花费的时间过长,该过程似乎会被冻结。任何帮助将不胜感激。
我找到了一个类似的帖子,但找不到解决方案 - tSSH-Talend blockes job from continuing Run
谢谢
【问题讨论】: