我有几个dockerized应用程序,它们将数据输出到一个公共目录,还有一个dockerized python看门狗脚本,它监视该目录,并在程序输出完成后进一步处理数据
在进一步处理文件之前,文件必须是完整的,这一点至关重要。我尝试实现类似于Python watchdog windows wait till copy finishes的解决方案:
def on_modified(event):
sizeBefore = -1
while os.path.getsize(event.src_path) != sizeBefore:
sizeBefore = os.path.getsize(event.src_path)
time.sleep(1)
print(f"[+] File transfer of {event.src_path} completed")
它对单个文件正常工作,但在必须监视多个文件时会中断。等待程序输出完成,然后将文件复制到关注的文件夹也不是一个选项,因为我正在处理可能需要几秒钟才能复制的大型文件,然后我也遇到了同样的问题
关于如何调整on_modified事件处理程序以正确监视一个文件,直到该文件不再被修改,从而在单个目录中处理多个文件,有什么想法吗
目前没有回答
相关问题 更多 >
编程相关推荐