async def METHOD_NAME(self):
    while True:
        fs_events = []
        while not self.queue.empty():
            fs_events.append(self.queue.get())
        with self.repo.storage_engine.write_batch(0):
            for fs_event in fs_events:
                file = pathlib.Path(fs_event.src_path)
                file_path = str(file.relative_to(self.src_dir))
                if self.is_black_listed(file_path):
                    continue
                try:
                    click.echo(f'Detected change in: \'{file_path}\', type: \'{fs_event.event_type}\'. Syncing...')
                    if fs_event.event_type in (events.EVENT_TYPE_CREATED, events.EVENT_TYPE_MODIFIED):
                        with file.open('r') as fh:
                            contents = fh.read()
                            self.package.sync(str(file_path), contents)
                            click.echo(f'Updated file {file_path}.')
                    elif fs_event.event_type == events.EVENT_TYPE_DELETED:
                        self.package.remove(str(file_path))
                        click.echo(f'Removed file {file_path}.')
                    elif fs_event.event_type == events.EVENT_TYPE_MOVED:
                        dest_path = str(pathlib.Path(fs_event.dest_path).relative_to(self.src_dir))
                        self.package.move(file_path, dest_path)
                        click.echo(f'Moved file {file_path} to {dest_path}.')
                except Exception:
                    pass
        await asyncio.sleep(5)