我正在使用 pyinotify(process_IN_MOVED 事件)来监视目录中出现的文件。当出现新文件时,会触发该事件,并对文件进行某种处理。问题是有时文件出现在目录中的速度比我处理它们的速度快,这意味着一堆文件不会得到处理。我可以只拥有一个休眠十秒钟然后醒来寻找新文件或其他东西的功能,但如果可能的话我真的想坚持使用基于事件的解决方案。有办法做到这一点吗?
最佳答案
一般来说,我会在这里实现一个线程池来处理处理,而事件观察者只会观察事件并将它们传递到池中。 粗略的例子:
(event happens) ->
Watcher registers the event ->
puts it into the thread pool queue ->
thread pool processes the event
这样观察者将在等待部分之外花费最少的时间,从而大大减少错过更新的机会。
关于python - 文件出现在目录中的速度比我处理它们的速度快(pyinotify),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675852/