Таймураз
по-моему uglifyjs ближе всего к ноде
Тут серверную часть обсуждают обычно
Таймураз
В других чатах больше народа будет, кто с закрытыми глазами подскажет
Anonymous
ну ладно. вопрос актуален, если кто подскажет - буду благодарен
Bogdan
как бота здесь банить?
👨🏼‍💻
Господа, а посоветуйте хороший аналог request. Что б маленький был, шустрый и не r2.
Владимир
needle
Владимир
req-fast
👨🏼‍💻
Ты просто гуглишь либки? Или использовал?
Ilya
а чем реквест то плох?
👨🏼‍💻
а чем реквест то плох?
при больших кол-вах запросов очень много теряет данных, сокеты не закрывает, и вешает систему
Ilya
да ладно
Dmitry
при больших кол-вах запросов очень много теряет данных, сокеты не закрывает, и вешает систему
большое количество это сколько? запросы напрямую или через прокси?
👨🏼‍💻
arts
На фронте тоже
Dmitry
в секунду? )
Bogdan
на бэке?
ну да и фронт и бэк
👨🏼‍💻
в секунду? )
нет, в секунду 3к+
Dmitry
А вы какой-то один сервис запросами закидываете или по разным прокидываете? Может на той стороне умирает все и коннекты залипают?
Anonymous
Здарова народ, может кто нибудь сказать что читать новичку по ноде.
Владимир
документацию
Anonymous
одной документации хватит?
Владимир
для чего?
Anonymous
Что бы писать хороший код и понимать все как работает
👨🏼‍💻
В какой-то момент прилетает ошибка: Error: socket hang up at createHangUpError (_http_client.js:345:15) at Socket.socketCloseListener (_http_client.js:377:23) at emitOne (events.js:120:20) at Socket.emit (events.js:210:7) at TCP._handle.close [as _onclose] (net.js:549:12) code: 'ECONNRESET' }
sb
+ опыт
👨🏼‍💻
И все валится
CherryTea
чтобы писать хороший код нужно практиковаться и читать книжки про хороший код, к ноде это отношения не имеет )
👨🏼‍💻
Ну вот такая штука еще добавляет: { TimeoutError: ResourceRequest timed out
Anonymous
Тогда посоветуйте что нибудь по js
Anonymous
Мне не понятно на сколько надо знать js что бы можно было перейти к ноде
Dmitry
Ну вот такая штука еще добавляет: { TimeoutError: ResourceRequest timed out
у меня такое было.. просто на той стороне начинает все залипать. Пробовали снизить до 100-200 rps и посмотреть что будет?
O.
Ну вот такая штука еще добавляет: { TimeoutError: ResourceRequest timed out
А как взаимодействие происходит? Каким образом? Обращается клиент (предположим) происходит "пачка" действий и ответ клиенту?
Dmitry
Ну вот такая штука еще добавляет: { TimeoutError: ResourceRequest timed out
тот же гугл при запросе к их апи начинает на 300rps плеваться ошибками
👨🏼‍💻
хммм ... это нарушит все мои расчеты по скалированию времени 🙁
👨🏼‍💻
Да все просто - я делаю запрос, что б стянуть хтмл (если есть вообще), далее вытаскиваю из нее картинку/видео (ссылки если есть) и пишу в базу.
Anonymous
Подскажите что можно почитать по js и когда можно будет перейти к ноде
Dmitry
хммм ... это нарушит все мои расчеты по скалированию времени 🙁
у вас 3к rps всего запросов 20+ то есть вы хотите все запросы уложить в 7-10 секунд? Что-то обновляете в режиме онлайн неистово?
Anonymous
you don't know js
Она для новичков?
старий
Она для новичков?
она, в целом, для всех, я думаю)
Dmitry
новости
а сайт какой? может там есть rss какой или другой удобный формат
Anonymous
Dmitry
новости
я пока не могу понять зачем вам так быстро надо так много запросов сделать
старий
Спасибо :)
еще можно Eloquent JavaScript прочитать
Anonymous
Если это осилю то почитаю, спасибо
👨🏼‍💻
а сайт какой? может там есть rss какой или другой удобный формат
Рсс или отдает ссылку на изображение или нет, если нет - ищу руками. И вот во время поиска руками - делается запрос res.body (лежит хтмп как стринга), откуда собственно и надо выталить картинку.
Dmitry
Рсс или отдает ссылку на изображение или нет, если нет - ищу руками. И вот во время поиска руками - делается запрос res.body (лежит хтмп как стринга), откуда собственно и надо выталить картинку.
думаю в вашем кейсе прблема не в либе, а в сайте который вы запросами долбите. Все таки попробуйте рейти уменьшить или реже мучить сайт )
👨🏼‍💻
думаю в вашем кейсе прблема не в либе, а в сайте который вы запросами долбите. Все таки попробуйте рейти уменьшить или реже мучить сайт )
Вот я тоже склоняюсь к этому. Думаю надо не рейты уменьшать, а мозьности увеличивать, разделять парсинг медиа на несколько разных нод
Таймураз
Вот я тоже склоняюсь к этому. Думаю надо не рейты уменьшать, а мозьности увеличивать, разделять парсинг медиа на несколько разных нод
Так ты сайтики парсишь У тебя 24/7 такая нагрузка? "Такая нагрузка" - 3к запросов в секунду
Таймураз
в среднем да
Несколько серверов, очередь и раскидывай задания Сервера желательно держать на две трети загруженными от значимого параметра/ов
Kons
А расскажите, для чего вы парсите сайты. Уже не раз вижу эту тему здесь.
Таймураз
Да я вот к этому и иду. Проект только начался, а тут косяк на косяке с этим.
Лучше вопросы архитектуры решай Когда с архитектурой все будет збс и вдруг понадобится урезать расходы на сервера- оптимизируй логику, зависимости
Dmitry
Да я вот к этому и иду. Проект только начался, а тут косяк на косяке с этим.
таймауты кстати выставлены? Причем есть тонкий момент на большом количестве запросов они не всегда срабатывают и приходится их рубить таймаутами оси а иногда для профилактики скрипт убивать. Можете ради интереса глянуть что у вас происходт на севере через netstat
Таймураз
А расскажите, для чего вы парсите сайты. Уже не раз вижу эту тему здесь.
У меня был заказ на сбор инфы с сайта, просто каталог перекатать в любой формат, с которым можно работать
Dmitry
да 1 сек, потом смерть коннекшона и едем дальше
а проверьте реально ли они убиваются, у меня была беда что таймаут вроде срабатывал, а скрипт все равно висел по 30 секунд пока таймаут оси не срабатывал
Dmitry
да 1 сек, потом смерть коннекшона и едем дальше
убейте скрипт и через netstat гляньте коннекты. не факт что ваш кейс но мне помогло, а так да, лучше на очередь выносить и кучей нод обрабатывать
Dmitry
это первое куда я посмотрел. нет там ничего
ну тады беда на принимающей стороне )
👨🏼‍💻
так с коннектами как раз все норм. они ESTABLISHED и сразу после CLOSE
Igor
а timeout устанавливаешь?
Igor
Попробуй другую версию request
Ilya
там флажок есть не держать соединения
Dmitry
там флажок есть не держать соединения
а не подскажите как называется? в доках что-то не видно
Ilya