0

看门狗的“文件创建触发事件”是否取决于特定于文件创建方式的任何内容?我发现外部程序将文件保存到目录与将文件复制到目录之间存在差异。

我正在使用看门狗来监视一个目录,触发在该目录中创建的新文件,然后它为这些文件运行一堆其他脚本。但是我遇到了一个奇怪的问题。我正在监视一个目录,随着时间的推移,外部程序将新文件保存到该目录中。当这些文件出现在目录中时,看门狗不会触发。但是,我正在运行监视第二个目录的程序的单独实例,当我将文件复制到此目录时,看门狗会按预期触发并运行代码。

我在 Linux 机器上运行它。

有任何想法吗?

谢谢。

4

1 回答 1

1

是的,它确实。检查外部程序如何创建文件。就我而言,外部程序正在创建一个文件名以“。”开头的文件。并以'.tmp'结尾,当它完成写入临时文件时,它会将其移动到以'.json'结尾的实际文件名(我已经为此设置了观察者)。在这种情况下仅触发 on_moved 事件。

覆盖 on_moved 处理程序将解决这里的问题。

于 2017-09-19T06:26:00.373 回答