Unable to monitor Network storage location(NETWORK SHARED PATH) using Python Watch Dog Library in Windows Server 2012R2

236 Views Asked by At

When I use the below code to monitor any storage location on the same server, it is working perfectly. Whereas, when I try to use the same with the network drive(Mapped to my machine already), it doesn't work. Please have a look at the code and suggest how to proceed. Please let me know if I can use any other library or other technology to achieve the purpose. Currently I am using Python Watchdog Library.

import time
from watchdog.observers import Observer
from watchdog.events import PatternMatchingEventHandler
from watchdog.observers.polling import PollingObserver

import os
import hashlib
import shutil,time

if __name__ == "__main__":
    patterns = "*"
    ignore_patterns = ""
    ignore_directories = False
    case_sensitive = True
    my_event_handler = PatternMatchingEventHandler(patterns, ignore_patterns, ignore_directories, case_sensitive)

def on_created(event):
    print(f"hey, {event.src_path} has been created!")

def on_deleted(event):
    print(f"Someone deleted {event.src_path}!")

def on_modified(event):
    print(f"{event.src_path} has been modified")

def on_moved(event):
    print(f"someone moved {event.src_path} to {event.dest_path}")

my_event_handler.on_created = on_created
my_event_handler.on_deleted = on_deleted
my_event_handler.on_modified = on_modified
my_event_handler.on_moved = on_moved   

path = "\\\\apc.ent.petap.net\\dfs\\Resource\\ABS\\ARCHIVE\\" ##This is my shared drive, I also tried #mapping it to the system, but the same thing I am getting. No error, but no response.
go_recursively = True
#my_observer = Observer()
my_observer = PollingObserver()
my_observer.schedule(my_event_handler, path, recursive=go_recursively)

my_observer.start()
try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    my_observer.stop()
    my_observer.join()

0

There are 0 best solutions below