Ваш вопрос опущен, но я постараюсь ответить.
- Если вы запускаете программу проверки состояния на том же сервере, на котором работает ftp:
1) В зависимости от вашей операционной системы, если вы используете Linux и встроили inotify в свое ядро, вы можете использовать pyinotify для просмотра каталога загрузки - inotify отличается от открытого, изменяемогозакрывайте события и позволяйте асинхронно наблюдать за событиями файловой системы, чтобы вы не опрашивали постоянно.И OSX, и Windows имеют схожие, но по-разному реализованные средства.
2) Вы можете с помощью Python tail -f посмотреть, когда новый файл будет помещен на сервер (если вы даже регистрируете это) и просто обновлять, когда вы видите соответствующие сообщения об обновлениях.
- Если вы запускаете вашу программу удаленно
3) Если ваша утилита проверки статуса должна запускаться на удаленном хосте с FTP-сервера, вам придетсяопросите файл на предмет состояния и добавьте некоторую логику, чтобы обнаружить изменения размера.Для этого вы можете использовать команду FTP «SIZE» для легко разбираемой строки.
Вам нужно будет добавить в нее некоторую логику, чтобы при уменьшении размера файла вы могли предположить, что он заменяется, изатем подождите, пока он станет больше, пока он не перестанет расти и останется неизменным в течение некоторого времени.Если архив сжимается таким образом, чтобы вы могли проверить сумму, которую вы могли бы затем загрузить, проверить контрольную сумму и затем повторно загрузить на удаленный сайт.