python – 出现在目录中的文件比我可以处理的文件更快(pyinotify)

我正在使用pyinotify(process_IN_MOVED事件)来监视目录中出现的文件.当出现新文件时,将触发此事件并以某种方式处理该文件.问题是,有时文件出现在目录中的速度比我处理它们的速度快,这意味着一堆文件将无法处理.我可以只有一个函数睡眠十秒然后醒来找到新的文件或东西,但我真的想坚持基于事件的解决方案,如果可能的话.有没有办法做到这一点?

解决方法:

通常我会在这里实现一个线程池来处理处理,而事件观察者只是在观察事件并将它们传递给池.
粗略的例子:

(event happens) -> 
Watcher registers the event -> 
puts it into the thread pool queue -> 
thread pool processes the event

这样,观察者将在等待部分之外花费最少的时间,从而大大减少错过更新的机会.

上一篇:centos 7配置inotify+rsync实时同步


下一篇:哪些操作系统支持在Java中查看本机(类似inotify)文件