Как узнать в Ruby, полностью ли загружен файл - PullRequest
3 голосов
/ 12 декабря 2008

Наша проблема в том, что в нашем проекте файлы загружаются с помощью wget в файловую систему. Мы используем ruby ​​для чтения загруженных файлов для получения данных.
Как можно определить, полностью ли загружен файл, чтобы мы не читали наполовину полный файл?

Ответы [ 2 ]

8 голосов
/ 12 декабря 2008

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

  • загрузить файл в область хранения и, наконец, скопировать его в каталог ввода;
  • использовать файл маркера, созданный после завершения загрузки, для указания готовности;
  • дважды опросить файл и посмотреть, прекратился ли его размер;
  • проверка прав доступа к файлу (некоторые процессы загрузки блокируют чтение во время загрузки);
  • использовать другой метод, такой как загрузка в потоке процессом Ruby.

Цитируя Мартина Коуи: «Это проблема промежуточного программного обеспечения, столь же старая, как холмы» ...

2 голосов
/ 12 декабря 2008

Типичный подход к этому состоит в том, чтобы загрузить файл во временную папку и по окончании «переместить» его в конечный пункт назначения для обработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...