М
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
Спасибо.
serg
_Предыстория:_
решено запустить в сети сервер с нодой (прод?). По сути, это один файл *server.js* со сценарием.
В этом сценарии происходит старт сервера (Express).
_Qвесчен:_
чтобы не дёргать команду node server.js, правильно ли прописывать на хосте автоматический старт этого файла сценария?
Ведь, когда зайдёт 10 человек, то значит ли это, что создадутся 10 копий сервера? Ну или возникнет исключение, мол, сори, порт занят. И мой сервер вылетит.
Кароч, как правильно сделать, чтобы и сервер работал, и если кто зашёл на корневой домен, то сервак бы не рушился? Или никто не кладёт никогда запуск сервера в рут домена?
Sparrow
даже не знаю с чего начать фейспалмить
Anonymous
_Предыстория:_
решено запустить в сети сервер с нодой (прод?). По сути, это один файл *server.js* со сценарием.
В этом сценарии происходит старт сервера (Express).
_Qвесчен:_
чтобы не дёргать команду node server.js, правильно ли прописывать на хосте автоматический старт этого файла сценария?
Ведь, когда зайдёт 10 человек, то значит ли это, что создадутся 10 копий сервера? Ну или возникнет исключение, мол, сори, порт занят. И мой сервер вылетит.
Кароч, как правильно сделать, чтобы и сервер работал, и если кто зашёл на корневой домен, то сервак бы не рушился? Или никто не кладёт никогда запуск сервера в рут домена?
О___О
Anonymous
_Предыстория:_
решено запустить в сети сервер с нодой (прод?). По сути, это один файл *server.js* со сценарием.
В этом сценарии происходит старт сервера (Express).
_Qвесчен:_
чтобы не дёргать команду node server.js, правильно ли прописывать на хосте автоматический старт этого файла сценария?
Ведь, когда зайдёт 10 человек, то значит ли это, что создадутся 10 копий сервера? Ну или возникнет исключение, мол, сори, порт занят. И мой сервер вылетит.
Кароч, как правильно сделать, чтобы и сервер работал, и если кто зашёл на корневой домен, то сервак бы не рушился? Или никто не кладёт никогда запуск сервера в рут домена?
Не значит)
М
все я пофиксил. не умею промисы потому что
Михаил Макарычев
_Предыстория:_
решено запустить в сети сервер с нодой (прод?). По сути, это один файл *server.js* со сценарием.
В этом сценарии происходит старт сервера (Express).
_Qвесчен:_
чтобы не дёргать команду node server.js, правильно ли прописывать на хосте автоматический старт этого файла сценария?
Ведь, когда зайдёт 10 человек, то значит ли это, что создадутся 10 копий сервера? Ну или возникнет исключение, мол, сори, порт занят. И мой сервер вылетит.
Кароч, как правильно сделать, чтобы и сервер работал, и если кто зашёл на корневой домен, то сервак бы не рушился? Или никто не кладёт никогда запуск сервера в рут домена?
Погугли мануалы по настройке связки nginx + node.js
Спойлер: команда node server.js выполняется единожды
serg
Ivan
Михаил Макарычев
Cenator 🐈
Igor
спасибо за пояснение!
npm i pm2 -g
pm2 start {путь и название файла}
pm2 startup - запуск после перезагрузки
Нехис
Чот нароминает функционал старого доброго forever
serg
Cenator 🐈
Нехис
Ну хз. Сколько лет пользуюсь, хватало за глаза, особенно радовало что умеет перезапускать все что угодно...
Cenator 🐈
Нехис
Без понятия :) не нужно было.
Cenator 🐈
Ну вот
Нехис
А балансировку нагрузки таки лучше делать чем-то более серьезным и предназначенным для этого... Тем же nginx..
Cenator 🐈
Нехис
Обоснуй
Cenator 🐈
forever пишет логи в рандомный файл хрен знает куда
При обновлении проекта начинает писать в новый файл
Чтобы выяснить, какой файл актуален- нужно выполнить команду, которая хреново структурирована
Он нестабилен
Намного меньше фич по сравнению с pm2
KlonD90
ну оно удобнее pm2 для запуска
Sergey
Dmitrii
Forever условно мёрт, он не развивается. Но ему это и не нужно, он умеет всё, что от него требуется. Нужно больше - pm2. Pm2 умеет намного больше, так что forever даже не конкурент..
Sergey
KlonD90
ну в случае ошибки у тебя будет ошибка
KlonD90
такие дела
KlonD90
подпишись на ошибку у потока. вот и получишь ошибку.
KlonD90
ридабл стрим ничего не считате ошибкой. это абстракция. а вот конкретная имплементация тебе кинте ошибку. если это http то разрыв соединения будет ошибкой.
Dmitry
Народ подскажите пожалуйста в чем проблема, на ноде прописан router для загрузки изображений, через postmen все загружается, запрос срабатывает, на VueJS взял компонент c http://element.eleme.io/ Uploader там атрибут action как я понял но запрос надо писать туда, но как приходит пустой массив, может кто делал подскажите в чем проблема))????
Anton
Всем привет!
Подскажите, как сделать миграцию с помощью sequelize-cli после добавления/удаления поля в модели?
A
Приветы. А есть какой-то чуть более умный способ организовать стопицот мильонов вариантов текстовок для системы уведомлений?
Пример такой: есть нотифай о том, что пользователя добавили в проект. Если его добавили в один тип проектов - одно уведомление. В другой - другое. Иногда проект в черновиках, там третий вариант текста. И примерно такая же штука с уймой сущностей в системе. Включая вариант, что у проекта, например (да и у пользователя, да и вообще у всего), не быть имени и тогда тоже свой вариант текстовки.
Сейчас это всё решается километровым свитчем, поделённым кое как на несколько частей. Вот вопрос, может есть какой-то более хитрый подход?))
Sheldhur
Приветы. А есть какой-то чуть более умный способ организовать стопицот мильонов вариантов текстовок для системы уведомлений?
Пример такой: есть нотифай о том, что пользователя добавили в проект. Если его добавили в один тип проектов - одно уведомление. В другой - другое. Иногда проект в черновиках, там третий вариант текста. И примерно такая же штука с уймой сущностей в системе. Включая вариант, что у проекта, например (да и у пользователя, да и вообще у всего), не быть имени и тогда тоже свой вариант текстовки.
Сейчас это всё решается километровым свитчем, поделённым кое как на несколько частей. Вот вопрос, может есть какой-то более хитрый подход?))
ну эм, если только в json или объект всё это сложить, типа: {typeName1: {title: 'Hi %username%', message: 'bla bla bla %somevar%', etc:...}, typeName2: ...}
Sheldhur
а это точно тот чят?
Таймураз
Есть банхаммер
Сойдёт?
A
Sheldhur
я бы в закладки добавил
Таймураз
Eldar
О, в выходные вечером чат так активен оО
Michail
подскажите, вот у меня чтото в express не отработало и на фронтенд приходит такая простыня вместо массива, скажем
Michail
как правильно отлавливать такие 500-e ответы ?
Anonymous
почему у меня маршруты с regexp не срабатывают?
Таймураз
KlonD90
а должны?
Anonymous
KlonD90
а это экспресс ок
Cenator 🐈
по идее - да )
нужен ли тебе регекс там? просто app.get('/big') сойдет
Таймураз
Anonymous
Cenator 🐈
не лучшая площадка btw
Anonymous
верно
ну ты проверь сначала, чтобы работало без регулярок, а потом уже проверяй их, мб.
Sheldhur
regex101.com
Eugene
/:username срабатывает скорей всего)
Anonymous
Anonymous
regex101.com
постоянно забываю этот чудесный сайт (
Anonymous
вроде прикольную штуку нашел - https://forbeslindesay.github.io/express-route-tester/ )
Anonymous
мля - вот я туплю! не туда смотрел (в консоль браузера!) ))
Eugene
lool
Nikita
Таймураз
Nikita
Nikita
Он держит процесс запущенным, пока не упадёт forever. От ООМ, например. А он упадёт.
Таймураз
Nikita
с pm2 та же фигня, но у него есть другие юзкейсы
Nikita
Чтобы таки держать процесс запущенным, надо его к системному менеджеру твоей операционки прибивать.