Создайте расширяемую систему для парсинга веб-сайтов - PullRequest
0 голосов
/ 12 июля 2020

В настоящее время у меня работает сервер. Всякий раз, когда я получаю запрос, я хочу, чтобы какой-то механизм запускал процесс очистки на каком-то другом ресурсе (желательно динамически созданном), поскольку я не хочу выполнять очистку на моем основном экземпляре. Кроме того, я не хочу, чтобы другой экземпляр продолжал работать и заряжать меня, когда я не очищаю данные. Итак, желательно систему, которую я могу запросить, чтобы начать очистку сайта и закрыть, когда он закончится.

В настоящее время я просмотрел облачные функции Google, но у них есть ограничение на 9 минут максимум для каждой функции, поэтому он выиграл не соответствует моим требованиям, так как очистка займет гораздо больше времени. Я также просмотрел AWS SDK, он позволяет нам создавать виртуальные машины во время выполнения, а также закрывать их, но я не могу понять, как перенести sh мой API-скрипт на только что созданный AWS экземпляр.

Далее система должна быть расширяемой. Как будто у меня много разных скриптов, которые очищают разные сайты. Итак, надежное решение было бы идеальным. Я открыт для использования любых технологий. Любая помощь будет принята с благодарностью. Спасибо

1 Ответ

1 голос
/ 12 июля 2020

Я не могу понять, как перенести sh мой API-скрипт на только что созданный AWS экземпляр.

Это достигается с помощью UserData :

Когда вы запускаете инстанс в Amazon EC2, у вас есть возможность передать данные пользователя в инстанс, которые можно использовать для выполнения общих задач автоматической настройки и даже запуска скриптов после запуска экземпляра.

Таким образом, вы должны создать свой UserData для установки ваших сценариев, всех зависимостей и их запуска. Это будет выполнено, когда новые экземпляры будут запущены .

Если вы хотите, чтобы система была масштабируемой, вы можете включить свои экземпляры в Auto Scaling Group и масштабировать ее. или вниз по мере необходимости.

Другой вариант - запуск ваших скриптов как Docker контейнеров . Например, используя AWS Fargate .

Кстати, AWS Lambda имеет ограничение в 15 минут, так что не намного больше, чем функции Google.

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