Python Watchdog PollingObserverVFS Повышение производительности

Я запускаю PollingObserverVFS в каталоге, который находится в хранилище Dell ISILON Storage с более чем 2 миллионами файлов, и для обнаружения изменений требуется около 2 часов 30 минут. Есть ли способ повысить производительность, чтобы быстрее обнаруживать изменения, такие как параллельная обработка или любые другие изменения настроек.

Код объединяет хранилище Dell Isilon для обнаружения изменений папок.

import datetime
import time 
import os
from watchdog.observers.polling import PollingObserverVFS
from watchdog.events import FileSystemEventHandler


if __name__ == "__main__": 

 # Set format for displaying path 
my_event_handler = FileSystemEventHandler()

path = "\\\\dd\\ARCHIVE\\"

print(path)
# Initialize logging event handler 
#event_handler = LoggingEventHandler() 
def on_any_event(event):

    print(datetime.datetime.now())

    if event.is_directory: 
        if event.event_type == 'created':
             print("Watchdog received directory create event - % s." % event.src_path) 

        elif event.event_type == 'modified': 
            # Event is modified, you can process it now 
            print("Watchdog received directory modified event - % s." % event.src_path) 

        elif event.event_type == 'moved': 
            # Event is modified, you can process it now 
           print("Watchdog received directory moved event - % s." % event.src_path) 
           print("Moved or Renamed directory path - % s." %event.dest_path )

        elif event.event_type == 'deleted': 
            # Event is modified, you can process it now 
           print("Watchdog received deleted event - % s." % event.src_path)


    elif event.event_type == 'created': 
            # Event is modified, you can process it now 
            print("Watchdog received file created event - % s." % event.src_path) 

    elif event.event_type == 'modified': 
            # Event is modified, you can process it now 
            print("Watchdog received modified file event - % s." % event.src_path) 

    elif event.event_type == 'moved': 
            # Event is modified, you can process it now 
           print("Watchdog received moved file event - % s." % event.src_path) 
           print("Moved or Renamed path - % s." %event.dest_path )

    elif event.event_type == 'deleted': 
            # Event is modified, you can process it now 
           print("Watchdog received deleted file event - % s." % event.src_path)        


my_event_handler.on_any_event = on_any_event

observer = PollingObserverVFS(stat=os.stat, listdir=os.listdir,polling_interval=60)
observer.schedule(my_event_handler, path, recursive=True) 

# Start the observer 
observer.start() 
try: 
    while True: 
        # Set the thread sleep time 
        time.sleep(60) 
except KeyboardInterrupt: 
    observer.stop() 
observer.join() 

person Vaibav    schedule 16.04.2020    source источник
comment
Вы пробовали inotify?   -  person rdas    schedule 16.04.2020
comment
Отвечает ли это на ваш вопрос? уведомить с помощью NFS   -  person varsh    schedule 16.04.2020
comment
мы попробовали сторожевой таймер, но он непоследовательный, он не обнаруживает события все время. inotify с решением NFS является старым решением или предложением, я искал, есть ли какое-либо новое доступное решение   -  person Vaibav    schedule 16.04.2020
comment
вопрос пересматривается пользователем, чтобы быть более целенаправленным.   -  person Zain    schedule 19.04.2020