首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由OpenEdge“输出”创建的文件

由OpenEdge“输出”创建的文件
EN

Stack Overflow用户
提问于 2017-08-15 16:41:05
回答 1查看 369关注 0票数 1

我们正在HP上运行OpenEdge 10.2b

我们在进度和UNIX之间遇到了一些关于文件可用性的奇怪行为。情况是这样的(请参阅更新2中的完整代码)。

我们在FTP流中发现了错误,即使文件是由程序B创建的,但是这个文件是由程序B创建的。这个错误是断断续续地发生的,而且它总是最后的X个文件数(例如,如果有15个文件要发送,而4个文件由于“主机文件找不到”而失败,它总是列表中的最后4个文件)。通常是3-6个没有发送的文件,它大约每两周发生一次,但有些星期有多次发生(这是一项日常工作)。

有人知道这是怎么回事吗?

目前,我已经将程序B转换为使用UNIX代码,以防出现文件锁定问题。

更新:创建文件的UNIX代码没有帮助,因为问题再次发生在今天

这可能是执行命令的问题吗?当程序C中的ftp流仍在执行时,进程是否正在运行OS-删除程序A(这对我来说是没有意义的,但我在这里掌握)

更新2:完整的代码,我得到编辑错误,不会让我张贴我的代码。所以我把它贴在这里:https://gist.github.com/anonymous/49c84866d2f204f1cf05048abe3008ba https://justpaste.it/1a59k

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-10 11:48:23

在阅读了一些有关这个主题的文档并进行了一些测试之后,FTP流似乎只有在我关闭输出之后才会启动。根据进度文档,一旦我关闭输出,系统暂停1秒,然后继续运行程序。

这意味着,在我的情况下,FTP将启动,并取决于连接时间和上传速度,可能仍在上传文件的过程中,而我的进步程序试图删除它们。

在我的例子中,解决方案是将delete移到FTP脚本中,但是对于任何可能阅读此脚本的人,请记住以下几点:

  1. 流中的任何UNIX (或OS)命令只有在流关闭后才能执行。
  2. 输出流完全独立于您的进度应用程序(进程在输出关闭后暂停1秒,然后继续)

如果在这两个流中存在冲突的访问/逻辑的可能性,则可能会导致间歇性问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45697433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档