#node.js #shell #web-scraping #cron #apify
#node.js #оболочка #очистка веб-страниц #cron #apify
Вопрос:
У меня есть список слов из 11 символов, который я хочу добавить в URL. После некоторых изменений в request.js , я могу запустить список слов размером 5 миллионов в массиве requestlist.Он начинает выдавать ошибку JavaScript heap memory после повышения.У меня есть миллиард размеров списка слов для обработки. Я могу сгенерировать свой список слов с помощью js-кода. 5 миллионов записей завершаются через час из-за более высокой емкости сервера, которой я обладаю. Список запросов — это статическая переменная, поэтому я не могу добавить в нее снова.Как я могу запускать его бесконечно для миллиардов комбинаций.Если какой-либо скрипт cron может помочь, я также открыт для этого.
Комментарии:
1. Я думаю
RequestList
, что загружает все в память, поэтому оно может быть не оптимизировано для такого количества записей в зависимости от доступной памяти. С каким объемом памяти вы используете актер? Можно ли разделить список ввода на более мелкие фрагменты, которые затем могут быть обработаны независимо и, возможно, повторно объединены снова после?
Ответ №1:
Было бы лучше использовать RequestQueue
для такого большого количества запросов. Очередь сохраняется на диске как база данных SQLite, поэтому использование памяти не является проблемой.
Я предлагаю добавить, скажем, 1000 запросов в очередь и немедленно начать сканирование, одновременно отправляя больше запросов в очередь. Постановка в очередь десятков миллионов или миллиардов запросов может занять много времени, но вам не нужно этого ждать.
Для лучшей производительности используйте apify
версию 1.0.0
или выше.