Что я должен использовать для очистки данных с веб-сайта Google appEngine, computeEngine или cloudFunctions - PullRequest
0 голосов
/ 13 июня 2018

Я хочу создать приложение nodejs для очистки данных с веб-сайта каждые 20 минут и сохранения их в базе данных firebase.Подскажите, пожалуйста, какой продукт Google (движок вычислений, движок приложений или облачные функции) эффективен для этого требования, так как ниже приведены вещи, которые я ожидаю сделать: 1. Запустите Nodejs, cheerio, чтобы очистить данные с веб-сайта и сохранить их в firebase.2. Запланируйте запуск на 20 минут, а позже - на 30 минут или 1 час.

После прочтения документации я знаю, что существует слишком много способов реализовать это, но я ищу эффективный способ затрат / ресурсов.

Хорошо бы указатели и идеи.

Ответы [ 3 ]

0 голосов
/ 14 июня 2018

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

Если вы выполняете много параллелизма, я бы сказал, сделайте это с облачными функциями.

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

Что касается планирования, я не уверен, позволяет ли Google это делать, но я знаю, что AWS делает.

0 голосов
/ 21 июня 2018

Экономически эффективным / простым способом было бы использовать cronjob.org и заставить его отправлять http-запрос на ваш URL-адрес облачных функций для его запуска.Если вы беспокоитесь о том, что другие люди запускают его, скажите вашему cronjob отправить заголовок http с ключом API.Проверьте этот ключ API в коде своей функции облака, чтобы убедиться, что cronjob.org отправил запрос.Я не думаю, что это становится более легким / дешевым, чем это.

0 голосов
/ 13 июня 2018

Разместите приложение Node.js в App Engine [1] , поскольку облачные функции управляются событиями [2] .Вы можете использовать стандартную среду App Engine [3] или гибкую среду App Engine [4] .Что касается планирования, Google Cloud Platform имеет службу Cron [5] , и вы можете создать задание cron для своей задачи, нажав App Engine [6] .Вы можете найти образец дизайна здесь [7] .

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