python inotify中未引发IN_Q_溢出事件

python inotify中未引发IN_Q_溢出事件,python,inotify,Python,Inotify,在相应的事件队列已满时引发观察者队列事件的事件中,inotify系统显然会引发一个事件。我正在使用python包注册inotify事件。我很想知道何时引发in_Q_溢出事件,但inotify包似乎完全忽略了此事件。是否有人对如何通过inotify或提供此行为的另一个python包注册此事件有任何建议 inotify adapter.py中的代码段 def __handle_inotify_event(self, wd, event_type): """Handle a series of

在相应的事件队列已满时引发观察者队列事件的事件中,inotify系统显然会引发一个事件。我正在使用python包注册inotify事件。我很想知道何时引发in_Q_溢出事件,但inotify包似乎完全忽略了此事件。是否有人对如何通过inotify或提供此行为的另一个python包注册此事件有任何建议

inotify adapter.py中的代码段

def __handle_inotify_event(self, wd, event_type):
    """Handle a series of events coming-in from inotify."""

        ....
        if path is None:
            break #if i print header.mask i clearly see 16384 or 0x00004000 the IN_Q_OVERFLOW bit
        yield (header, type_names, path, filename)

此处编码

解决方案-!添加字符以达到30…

您可能需要试用watchman:

包括了一个python客户端,但没有太多关于从python使用它的文档。我建议查看WatchmanWait和WatchmanMake工具的实现

Watchman的工作原理与大多数文件监视系统稍有不同,它维护您正在监视的目录树的一致视图。它将在内部处理溢出事件并传递有关它们的信息。默认情况下,它只会告诉您所有文件都可能已更改,因此您不需要更改应用程序逻辑,除非您关心发现在溢出事件期间删除的文件


免责声明:我创建并维护了watchman

这是python吗?不幸的是,我需要一个轻量级python包装器。我怀疑这不符合要求,有一个服务流程可以使用python进行对话。服务流程处理了许多棘手的情况。python部分是轻量级的;它通过unix套接字与服务通信。