Что мне нужно для создания загрузчика файлов в Perl? - PullRequest
1 голос
/ 19 января 2010

Я работаю над загрузчиком файлов в Perl (UNIX / Mac OS X на терминале). Я на самом деле ищу библиотеки, которые будут работать с проверкой контрольной суммы, индикаторами выполнения и другими вещами, которые использует сама библиотека CPAN. Какие библиотеки и места для поиска вы можете порекомендовать? Может быть, есть такие законченные вещи, о которых я не знаю?

Подробнее:

  1. загрузка файлов с индикатором выполнения
  2. регистрация всех предпринятых действий
  3. проверка контрольной суммы файла
  4. чтение и анализ файлов конфигурации (пример: формат YAML)
  5. отправка результатов в веб-сервис

Ответы [ 4 ]

7 голосов
/ 19 января 2010

CPAN является основным местом для поиска модулей поддержки.Если вы хотите сделать это в Perl, вполне вероятно, что кто-то уже сделал это.

Например, для ваших требований:

2 голосов
/ 19 января 2010

Не пропустите LWP .В частности, LWP :: Simple, скорее всего, большинство из того, что вам нужно для начала.Для проверки контрольных сумм, заголовков HTTP и тому подобного вам, вероятно, нужен полный пользовательский агент LWP.

0 голосов
/ 30 января 2010

Посмотрите на CPAN :: Checksums для материала, который CPAN использует для создания файла CHECKSUMS в каталоге каждого автора.

0 голосов
/ 19 января 2010

К сожалению, вы действительно должны использовать POE в настоящее время .. В частности, вам нужно использовать POE :: Component :: Client :: HTTP (для (Keep Alive) POE :: Component :: Server :: HTTP :: KeepAlive пул) и, возможно, еще несколько компонентов.Я только что выполнил эту задачу. Мне приходилось ежедневно загружать 150 тыс. Фотографий (в SQL) по их URL-адресу sha1, изменять их размер, хэшировать их в SHA1-образе и жестко связывать их с URL-адресом sha1 и обновлять базу данных.чтобы показать sha1 изображения и дату загрузки.Я сделал все это с POE.И, кроме нескольких трудных для отладки причуд, которые я, вероятно, никогда не исправлю, и случайных дампов ядра POE, он работает довольно хорошо.

Мы предоставляем нашим сторонним филиалам гораздо более простой загрузчик изображений, который требуетизображение, идентифицированное в CSV через строку VIN, загружает изображение и переименовывает его в дефис vin [1..n].Вы можете найти его на github .Он использует Parallel :: ForkMangaer , что является еще одним решением, но природа его использования устраняет KA и объединение, которое вы можете получить довольно легко с помощью POE.

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

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