2017-02-10 12 views
1

Ранее я написал скрипт, использующий python, который контролирует каталог Windows и загружает любые новые файлы на удаленный сервер за пределами. Цель состоит в том, чтобы запускать его в любое время и позволять пользователям сбрасывать свои файлы там, чтобы синхронизировать с облачным каталогом.Python: остановить сторожевой таймер, реагируя на частично перенесенные файлы?

Когда добавленный файл достаточно велик, чтобы он не был сразу перенесен на локальный диск, Watchdog «видит» его, поскольку он частично загружен и пытается загрузить неполный файл, что не удается. Как я могу убедиться, что эти файлы «полные» перед их загрузкой? Опять же, я нахожусь в Windows и не могу использовать ничего, кроме Windows, для выполнения этой задачи, или я бы использовал inotify. Возможно ли даже проверить состояние «файла» в Windows?

ответ

0

Похоже, что нет простого способа сделать это. Я думаю, что вы можете положить на место то, что проверяет статистику в каталоге, когда он запускает и только действия после определенного количества времени, что размер папки не изменилась:

https://github.com/gorakhargosh/watchdog/issues/184

В качестве примечания, Я бы проверить Apache Nifi. Я использовал его с большим успехом, и было довольно легко вставать и работать https://nifi.apache.org/

+0

Я боялся, что мне придется что-то делать. Я проведу nifi, но в этот момент может быть слишком поздно менять. Спасибо хоть. – Jesse