2014-12-24 3 views
0

У меня есть около 600k изображения URL (в списке), и я хотел бы, чтобы достичь следующего:Массовая загрузка веб-изображений

  • Скачать все они
  • генерировать миниатюру конкретных размеров
  • загрузите их в Amazon s3

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

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

Я думал сценарий Python или работу JavaScript, запустить в parrallel, если это возможно, чтобы свести к минимуму время, необходимое

Спасибо!

ответ

1

Я предлагаю развернуть один или несколько экземпляров EC2 и запустить работу с миниатюрами. Вы устраните почти все затраты на пропускную способность (без экземпляров ec2 в правильном регионе до s3), и, конечно же, скорость передачи будет быстрее в сети AWS.

Для обработки файлов 600K вы можете захотеть загрузить каждую из этих «заданий» в очередь SQS, а затем иметь несколько экземпляров EC2 для опроса очереди для «работы» - это позволит вам развернуть столько же экземпляров ec2, сколько вы хотите запускать параллельно и распределять работу.

Однако работа по настройке очереди может быть или не быть в зависимости от того, как часто вам нужно это делать, и как быстро она должна заканчиваться - то есть, если это одно время, и вы можете подождать в течение недели для его завершения может быть достаточно одного экземпляра, который может быть закрыт.

+0

люблю это спасибо! Да, я могу подождать неделю :) – Stephane