【发布时间】:2020-04-02 09:22:38
【问题描述】:
我使用 tSSH 组件来调用远程服务器上的 docker-image。 此 docker 映像将创建一个 Json 文件,该文件将指示该过程的结束。 然而,在我的工作中,我还有一个并行过程来检查要使用 SCP 复制到本地 Talend 机器的文件的可用性。 很简单,我在与 docker-image 相同的机器上写了一个脚本,这个脚本会检查文件是否可用,当我用 Talend 调用它时它会写类似的东西:
就像我提到的,请注意,此测试与主脚本并行运行。
我的joblet(它是一个joblet,因为我有很多脚本可以这样运行):
如您所见,tParallelize 可以同时运行两个进程。
正如我所说,我有许多脚本每次都以相同的逻辑以这种方式运行,并且它工作正常,除非主脚本不需要太长时间来执行。
tSSh 冻结并阻止整个 java 作业。 parallelize 的底部响应并将 json 文件复制到本地机器但不复制上部。
未配置超时,“errors”和“stdout”都通过触发 OnComponentOK 链接重定向到 FullLogFile。
如果有帮助,主脚本(导致问题的)执行在最坏的情况下可以持续 100 小时,在最好的情况下可以持续几个(7,8 或 9)小时。其他脚本只需几分钟即可执行,这就是我执行它们从未遇到问题的原因。
假设冻结来自“errors”和“stdout”的重定向,服务器日志可以达到3Mo(但这次服务器上的日志大小仅为0,7Mo并且它会阻塞)?谁知道?
在网上搜索我发现我不是唯一遇到这个问题的人:
https://community.talend.com/t5/Design-and-Development/tssh-timeout-process-blocked/td-p/60402
任何帮助或相同的经验分享将不胜感激。
谢谢。
【问题讨论】:
-
您是否尝试过添加退出命令,如您的第一个链接中给出的那样?
标签: docker ssh parallel-processing talend