def METHOD_NAME(self) -> None:
    logger.info('starting the watcher')
    self.observer.schedule(self.handler, self.directory, recursive=True)
    self.observer.start()
    try:
        while self.observer.is_alive():
            self.observer.join(1)
    finally:
        self.observer.stop()
        self.observer.join()