Dmitry
вроде никак
Sergey
Он же без них работать не сможет
Sergey
На то они и зависимости
Igor
Кэп) Это не мне, чел на работе спрашивает, я решил продублировать в профильном сообществе
Sergey
Лол
Sergey
А объяснить ему никак?
Igor
Я про то что работать не будет.
Sergey
Или тебе нравится работать роутером
Igor
Понятно что не будет
Igor
Ну в общем ты не знаешь.
Yar
зачем это тут?
Andrey
Господа, best practice для оработки "тяжелых" запросов на express/koa сначала вернуть результат (когда просто требуется сообщить что-то вроде success: true), а дальше в асинхроне обрабатывать. Правильно делать это "обернув" медленную логику в process.nextTick ?
Nikolay
т.к. один поток он и в Африке один поток
Andrey
best practice -- не обрабатывать тяжелые запросы на ноде.
под "тяжелыми" я подразумеваю которые длятся больше секунды)
Nikolay
если речь не про io-операции, разумеется
Nikolay
тогда вообще пофиг
Michael 🌌
А очереди пробовали?
Nikolay
ничего оборачивать никуда не надо, нода сама разрулит
Andrey
хм.. ну если у меня middleware асинхронный и через await делается?
Nikolay
что делается?
Andrey
что делается?
ну есть middleware который ждут через await ответов от БД. А возврат боди только в конце кода. Нода разрулит сама?
Nikolay
если тебе не принципиально сообщать клиенту факт успешной записи в бд, то дергаешь без всяких эвейтов операции записи, и возвращаешь ему ответ сразу
Andrey
если тебе не принципиально сообщать клиенту факт успешной записи в бд, то дергаешь без всяких эвейтов операции записи, и возвращаешь ему ответ сразу
мне надо запросить в БД данные, обработать их и записать обратно. Можно через callback - тут вопросов нет, нода корреткно отработает, но это не "трушно" в наше время). Если юзать await для ожидания результата из БД, нода код который идет после await не выполнит же пока не дождется результата? Правильно я понял?
👨🏼‍💻
а просто промисы с .then чем не нравятся?
Nikolay
т.е. одной асинк-функции
Nikolay
тебе никто не мешает эту цепочку изолировать и вызывать ее без await.
Andrey
не совсем. она будет ждать выполнение каждого await. лучше оборачивать в try/catch, что б ловить ошибки если что
это понятно. Так вот с чего и начали, в этом случае я оборачиваю все await в process.nextTick и получится что они выполнятся после кода который ниже
Andrey
а просто промисы с .then чем не нравятся?
я просто в восторге от async/await - код намного читабельнее и пригоднее к рефакторингу
Andrey
Не проще все таки: zapros().then(d => obrabotat(d)).then(c => zapisat(c)).catch(e)
это просто когда кода мало. А когда этих then...catch много, они в экран по горизонтали не влазят))
сomorsiс
а ты какую команду используешь?
👨🏼‍💻
это просто когда кода мало. А когда этих then...catch много, они в экран по горизонтали не влазят))
если пишешь норм функции, которые изилорованы друг от друга, и потом делаешь вызовы - то вполне норм
👨🏼‍💻
от async/await будет не прям уже категорически отличаться
Nikolay
const asyncChain = async () => { const data = await readDataFromDb(); writeDataToDb(data); } /* и где-то в мидлваре: */ asyncChain();
Andrey
Как-то у кого-то в коде встретил proccess.nextTick для подобного, и вот теперь пытаюсь понять, а надо ли оно вообще или не стоит
Nikolay
Хз, мне за всю практику process.nextTick в явном виде понадобился от силы раза два.
Nikolay
Один из них, когда я систему ивентов делал асинхронной.
Cenator 🐈
кто нибудь делал pm2 deploy? под него нужно отдельную репу создавать? у меня срабатывает setup, но не стартует по конфигу
Nikita
https://github.com/ma-zal/pm2-watchdog
А если у меня не http?
Dmitry
А если у меня не http?
Это как пример, в академических целях. Остальные ситуации нужно разбирать отдельно
Dmitry
Я не пользуюсь pm2. У меня все в докере с перезапуском
Dmitry
Эм, что смешного?
Sergey
да не
Sergey
разрабатываешься тоже под докером?
Dmitry
Да, удобно очень.
Nikita
Это как пример, в академических целях. Остальные ситуации нужно разбирать отдельно
Эм. Но можно сделать просто чтобы сервер раз в несколько секунд пинал ватчер
Nikita
Если он повиснет или упадёт - он перестанет это делать
Илья | 😶☮️🐸
Вопрос оффтоп, но в конфе по верстке молчат. Можно-ли каким-то образом ограничить bootstrap только в одном блоке и элементы этого блока не наследовали стили сторонних css файлов ?
Фεδως
local css
Фεδως
прогугли
Dmitry
нужно feathersjs не учить, а использовать
вот тоже так подумал и начал это делать )
Dmitry
Если он повиснет или упадёт - он перестанет это делать
не поверишь. можно и без вачдога мониторить
Dmitry
нет, есть много сервисов для мониторинга. я пользуюсь монитом.
Dmitry
и многие большие проекты делают именно это. + анализ логов в риалтайме на большой экран.
Sergey
Так это и есть ватчдог, только в облаке
Sergey
WaaS
Dmitry
не нужно понимать буквально, я говорил о том что у меня нет своего вачдога.
Dmitry
А то что это он и есть, понятно и слону
Alessandro
а дайте что-нибудь почитать про хайлоад в ноде? статьи, книжки?
Nikita
а кто нить на adonis чето делал?
Anonymous
Ребят, объясните, пожалуйста, в каком случае лучше всего делать spa и в каком случае через серверный рендеринг? Только из-за seo или есть ещё какие-то причины?
Nikita
ну как тебе причина более быстрой загрузки?
Nikita
блин, я с такой скорость открыл телеграмм, я надеялся, что кто-то мне ответил на мой первый вопрос
Nikita
короче если подумать, в этом мире все перевернулось. Большие корпорации придумали спа, чтоб снизить нагрузку по рендерингу приложений с помощью своих же клиентов. А все эти плюшки про компонентность и разделение отвественности, просто приятный бонус. А теперь мы обратно пилим рендеринг этих же спа на беках