М
function getStdin() { return new Promise((resolve, reject) => { process.stdout.write('> '); process.stdin.on('data', function(input) { process.stdin.pause(); console.log(input.toString().trim()); return }); process.stdin.on('end', function() { resolve(input_string); }); }); }
сomorsiс
посмотри вызывается ли 'end' попробуй убрать stdin.pause()
Aleksei
Всем привет. А здесь допускается постить предложения о работе?
Aleksei
Ищем в команду на доработку веб-торгового терминала ценными бумагами разработчика. Желателен опыт как во фронте, так и с nodejs. Из технологий: nodejs, sequelize, mysql, clickhouse, expressjs, webpack, graphql, Apollo, на фронте - vuejs Работа - интересная, задач - превеликое множество Территориально: Москва, метро Бауманская На все вопросы могу ответить в личке или здесь
Dmitrii
Допускается постить только с зп )
Aleksei
Допускается постить только с зп )
Зарплата - по знаниям и опыту. Готовы смотреть до 150, для особых гениев готовы двигаться
сomorsiс
Всем привет. А здесь допускается постить предложения о работе?
@nodejs_jobs сразу посмотри в описании группы как правильно оформить
Aleksei
Спасибо.
serg
_Предыстория:_ решено запустить в сети сервер с нодой (прод?). По сути, это один файл *server.js* со сценарием. В этом сценарии происходит старт сервера (Express). _Qвесчен:_ чтобы не дёргать команду node server.js, правильно ли прописывать на хосте автоматический старт этого файла сценария? Ведь, когда зайдёт 10 человек, то значит ли это, что создадутся 10 копий сервера? Ну или возникнет исключение, мол, сори, порт занят. И мой сервер вылетит. Кароч, как правильно сделать, чтобы и сервер работал, и если кто зашёл на корневой домен, то сервак бы не рушился? Или никто не кладёт никогда запуск сервера в рут домена?
Sparrow
даже не знаю с чего начать фейспалмить
М
все я пофиксил. не умею промисы потому что
serg
Погугли мануалы по настройке связки nginx + node.js Спойлер: команда node server.js выполняется единожды
это понятно. но если сервак вылетит, надо снова лезть по удалёнке и резетить? так выходит?
serg
Гугли pm2 и systemd
мишаня, это под никсы наверное. я на iis настраиваю
serg
Pm2 ставится из нпм
спасибо за пояснение!
Igor
спасибо за пояснение!
npm i pm2 -g pm2 start {путь и название файла} pm2 startup - запуск после перезагрузки
Нехис
Чот нароминает функционал старого доброго forever
serg
npm i pm2 -g pm2 start {путь и название файла} pm2 startup - запуск после перезагрузки
мерси, хорошая подсказка. сейчас хочу отдебажить, что выполняется в сценарии вообще.
Cenator 🐈
Нехис
Ну хз. Сколько лет пользуюсь, хватало за глаза, особенно радовало что умеет перезапускать все что угодно...
Нехис
Без понятия :) не нужно было.
Cenator 🐈
Ну вот
Нехис
А балансировку нагрузки таки лучше делать чем-то более серьезным и предназначенным для этого... Тем же nginx..
Нехис
Обоснуй
Cenator 🐈
forever пишет логи в рандомный файл хрен знает куда При обновлении проекта начинает писать в новый файл Чтобы выяснить, какой файл актуален- нужно выполнить команду, которая хреново структурирована Он нестабилен Намного меньше фич по сравнению с pm2
KlonD90
ну оно удобнее pm2 для запуска
Dmitrii
Forever условно мёрт, он не развивается. Но ему это и не нужно, он умеет всё, что от него требуется. Нужно больше - pm2. Pm2 умеет намного больше, так что forever даже не конкурент..
KlonD90
ну в случае ошибки у тебя будет ошибка
KlonD90
такие дела
KlonD90
подпишись на ошибку у потока. вот и получишь ошибку.
KlonD90
ридабл стрим ничего не считате ошибкой. это абстракция. а вот конкретная имплементация тебе кинте ошибку. если это http то разрыв соединения будет ошибкой.
Dmitry
Народ подскажите пожалуйста в чем проблема, на ноде прописан router для загрузки изображений, через postmen все загружается, запрос срабатывает, на VueJS взял компонент c http://element.eleme.io/ Uploader там атрибут action как я понял но запрос надо писать туда, но как приходит пустой массив, может кто делал подскажите в чем проблема))????
Anton
Всем привет! Подскажите, как сделать миграцию с помощью sequelize-cli после добавления/удаления поля в модели?
A
Приветы. А есть какой-то чуть более умный способ организовать стопицот мильонов вариантов текстовок для системы уведомлений? Пример такой: есть нотифай о том, что пользователя добавили в проект. Если его добавили в один тип проектов - одно уведомление. В другой - другое. Иногда проект в черновиках, там третий вариант текста. И примерно такая же штука с уймой сущностей в системе. Включая вариант, что у проекта, например (да и у пользователя, да и вообще у всего), не быть имени и тогда тоже свой вариант текстовки. Сейчас это всё решается километровым свитчем, поделённым кое как на несколько частей. Вот вопрос, может есть какой-то более хитрый подход?))
A
nodejs.org
А на руссишь нет?
Sheldhur
а это точно тот чят?
Таймураз
Есть банхаммер Сойдёт?
A
ну эм, если только в json или объект всё это сложить, типа: {typeName1: {title: 'Hi %username%', message: 'bla bla bla %somevar%', etc:...}, typeName2: ...}
ну это сейчас в ту сторону и движется, да. Просто вдруг чего бы незамыленным глазом подсказали
Sheldhur
Есть банхаммер Сойдёт?
ну зачем, вдруг у кого-то и правда есть
Sheldhur
я бы в закладки добавил
Таймураз
я бы в закладки добавил
Я впечатлительный
Eldar
О, в выходные вечером чат так активен оО
Michail
подскажите, вот у меня чтото в express не отработало и на фронтенд приходит такая простыня вместо массива, скажем
Michail
как правильно отлавливать такие 500-e ответы ?
Таймураз
Anonymous
почему у меня маршруты с regexp не срабатывают?
KlonD90
а должны?
Anonymous
а должны?
по идее - да )
KlonD90
а это экспресс ок
Cenator 🐈
по идее - да )
нужен ли тебе регекс там? просто app.get('/big') сойдет
Таймураз
нужен ли тебе регекс там? просто app.get('/big') сойдет
Скорее всего, он тестирует работу регулярок
Cenator 🐈
не лучшая площадка btw
Anonymous
верно
ну ты проверь сначала, чтобы работало без регулярок, а потом уже проверяй их, мб.
Sheldhur
regex101.com
Eugene
/:username срабатывает скорей всего)
Anonymous
regex101.com
постоянно забываю этот чудесный сайт (
Anonymous
вроде прикольную штуку нашел - https://forbeslindesay.github.io/express-route-tester/ )
Anonymous
мля - вот я туплю! не туда смотрел (в консоль браузера!) ))
Eugene
lool
Nikita
Forever условно мёрт, он не развивается. Но ему это и не нужно, он умеет всё, что от него требуется. Нужно больше - pm2. Pm2 умеет намного больше, так что forever даже не конкурент..
форевер не умеет то, что заявляет pm2 — смотря для чего ты его используешь. если как форевер, то он тебе тоже не нужен
Таймураз
форевер не умеет то, что заявляет pm2 — смотря для чего ты его используешь. если как форевер, то он тебе тоже не нужен
Не очень понятно сформулирована мысль В любом случае, если кто-то советует forever, то... Короче тот плохой человек
Таймураз
Nodemon юзаю вместо forever
Вот это вот тоже страшно слышать
Nikita
Он держит процесс запущенным, пока не упадёт forever. От ООМ, например. А он упадёт.
Таймураз
forever не делает «ensuring that a given script runs continuously (i.e. forever)»
Все, раз по-твоему forever- дерьмо, я спокоен
Nikita
с pm2 та же фигня, но у него есть другие юзкейсы
Nikita
Чтобы таки держать процесс запущенным, надо его к системному менеджеру твоей операционки прибивать.