Я использовал сторожевой таймер для прослушивания каталога, чтения и обработки нового файла при добавлении. В событии on_created
я могу получить все имена файлов при их добавлении, но обработка каждого файла занимает некоторое время (несколько секунд). Обработка file1
должна быть закончена до того, как я получу новый файл. Я протестировал многопоточность, но не смог получить правильный ответ.
Как я могу решить эту проблему?
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
def mainfunc(src_path):
#for runing need 60seconds
class MyHandler(FileSystemEventHandler):
def on_created(self, event):
t = threading.Thread(target=mainfunc(event.src_path))
вывод:
/root/PycharmProjects/f1.nc
finish :at 2020-02-20 13:58:39.352510
/root/PycharmProjects/f2.nc
finish : at 2020-02-20 13:59:12.404122