сomorsiс
Npmjs.com/package/ejs
A
Alexander
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Что вы используете для валидации значений на сервере? По типам, длине и прочему.
Есть json, с возможными пропертями и в них есть тип данных, иногда длина + обязательный или не обязательный атрибут
Alexander
хотя нет, не подошло(
Алексей
Dasha
18 ноября в Санкт-Петербурге состоится Global Day of Coderetreat.
Что вас ждет:
• День поделен на 6-7 сессий по 45 минут.
• Программирование происходит в парах, которые перемешиваются после каждой сессии.
• Основная задача – написать свой вариант игры Life Джона Конвея, в каждой сессии используя что-то новое - платформы или языки программирования.
• Всех участников ждет интересная компания и кофе-брейк.
Coderetreat проводится во всем мире с 2011 года. Зачем? Чтобы научиться смотреть на проблемы с разных углов, а также прокачать свои навыки разработки ПО.
Приходите и зовите с собой друзей!
Регистрация по ссылке: https://epa.ms/SPB-GDCR
Ждем вас по адресу: улица Заставская 22а, бизнес-центр Мегапарк, офис EPAM.
Начало в 10.30, окончание в 18.00.
Sergo
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Алексей
Алексей
и? у Joi свой формат описания схем
Алексей
если нужна именно JSON Schema, тогда ajv
Anonymous
как посмотреть содержимое базы mongodb?
Igor
запросами?
Igor
ide?
Anonymous
Anonymous
хорошая тула
Anonymous
раньше робомонго называлась
tazasho
mongotron
Anonymous
спасибо 👍
Anton
Подскажите плиз как мне запустить выполнение скрипта параллельно.
Кейс такой: есть express приложение на ноде, которое принимает запросы юзеров, формирует список задач, которые должны выполняться параллельно.
Как такое делать?
сomorsiс
Promise.all
Anton
знаю, что можно через очереди сделать такое типа kue, но хотелось бы узнать "ручной" способ
Alessandro
так нода же асинхронная
Alessandro
она конечно в одном потоке
Alessandro
но что мешает асинхронно эти задачи запускать?
сomorsiс
ну может под тасками он имел ввиду сходить в бд/на другой ресурс
Алексей
Anton
если подробно, то для каждой заявки от юзера надо сделать следующее:
1. Сходить на апи вк
2. Сегерить изображение
3. Опять через апи отправить через вк
Anton
это может быть занимать много веремни. Секунд 5 скажем. Не хочу ждать 5 секунд перед ответом юзеру. Хочу сразу сказать "Ок, мы все сделаем".
Алексей
есть async функции в ноде
Anton
response.send(`ok`);
await doHeavyTask(task)
Алексей
и их не обязательно вызывать с await
Anton
так чтоль?
Anton
а понял
Алексей
нет, await как бы ждёт
Алексей
а можно без await
Alessandro
а результат обратно ты как собираешься передавать? через сокеты?
Алексей
async function longProcess() {
...
}
router.get('/', async ctx => {
longProcess().catch(e => console.log(e));
ctx.body = {done: true};
});
Anton
Anton
могу хоть на след день отправить
Alessandro
ну да, тогда вариант выше
Alessandro
вызываешь асинхронную функцию и отдаешь результат
Anton
но после перезапуска сервера я все эти задачи потеряю
Alessandro
да
Anton
это не очень круто :)
Alessandro
если не хочешь их терять, тогда тебе очередь задач нужна
Ivan
думаете хорошая идея асинхронные функции оставлять висеть?
Ivan
Anton
в общем в kue мне надо видимо :)
Anton
но так из спортивного интереса не могу я запустить скрипт "параллельно"? Где бы я дергал базу раз в секунду и проверял нет ли там новых тасков?
Alessandro
так он у тебя и так параллельно будет идти, если ты не дожидаясь вернешь 200 сразу
Алексей
Anton
Anton
чего?
ну не знаю как выразить :)
Как бы запустить демона на js, который будет висеть параллельно :)
Alessandro
ну так ты определись, что тебе, шашечки, или ехать
Алексей
Alessandro
ну демон у тебя и будет очередью задач
Anton
ну через очередь то понятно. Рабочий вариант, его и заюзаю
Из спортивного интереса хотел узнать как сделать демон параллельно с экспресс приложением
Alessandro
https://ru.stackoverflow.com/questions/244252/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B4%D0%BB%D1%8F-%D0%BE%D1%87%D0%B5%D1%80%D0%B5%D0%B4%D0%B8
Алексей
Anton
воркер!
Алексей
и в чём проблема?
Алексей
Есть миллиард способов как запустить процесс как демон
Anton
тру вэй какой ? :)
Алексей
я вот не знаю насчёт тру вэй
Алексей
думаю, что systemd
Алексей
или вообще docker
Anton
у меня докер как раз
Алексей
хотя и есть всякие нодоспецифичные вещи
Алексей
тогда какие проблемы вообще?
Alessandro
foreverjs еще есть
Алексей
не надо, у него докер
Anton
ну отдельный контейнер с нодой и там демон. Так?
Алексей
нет
Алексей
нода в контейнере как обычный процесс запускается