Size: a a a

Node.js — русскоговорящее сообщество

2020 March 23

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Viktar Daniliuk
Как его задавать для каждого запроса отдельно?
перенести let timer = null; в роут. туда же где let currentTime = null;
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Kool Guy
route.get('/url', (req, res) => {
setTimeout(() => res.end(), 3000)

})
} забыл закрыть )
источник

D

Denis in Node.js — русскоговорящее сообщество
Ilya
Nest.js много кто юзает, нормально для старта MVP ?
Кал. Аля джанго/beego. Монстро фреймворки это не ноджс стайл
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Ilya
Nest.js много кто юзает, нормально для старта MVP ?
Много, он прекрасен
источник

AE

Alexey Ermakov in Node.js — русскоговорящее сообщество
Sergey 🛸
В js это тоже не так
освежил в памяти, с нодой в чистом виде давно не работал
вообще всё так, events
я про пул (очередь запросов) забыл совсем, что оно имеется такое
источник

VD

Viktar Daniliuk in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
перенести let timer = null; в роут. туда же где let currentTime = null;
require('dotenv').config()
const http = require('http');
const PORT = process.env.PORT;
const delayInterval = process.env.DELAYINTERVAL;
const delayTimeout = process.env.DELAYTIMEOUT;

const server = http.createServer((req, res) => {
 
  if (req.url === '/') {
        let currentTime = null;
        let currentUTCTime = null;
 
        const timer = setInterval(() => {
           currentTime = new Date();
           currentUTCTime = ${currentTime.getUTCFullYear()}-${currentTime.getUTCMonth() + 1}-${currentTime.getUTCDate()} ${currentTime.getUTCHours()}:${currentTime.getUTCMinutes()}:${currentTime.getUTCSeconds()};
 
           console.log(currentUTCTime);
        }, delayInterval);
 
        const timeout = setTimeout(() => {
           console.log('clearInterval');
           clearInterval(timer);
           res.setHeader('Content-Type', 'text/html; charset=utf-8');
           res.statusCode = 200;
           res.end(<h1>${currentUTCTime}</h1>);
           server.close();
        }, delayTimeout);
  }
  else if (req.url === '/favicon.ico') {
     process.exit();
  };
});

server.listen(PORT, () => {
  console.log('Сервер работает');
});
источник

VD

Viktar Daniliuk in Node.js — русскоговорящее сообщество
Так?
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Denis
Кал. Аля джанго/beego. Монстро фреймворки это не ноджс стайл
Он совсем ни как джанго, и не особо монстро, многое настраиваешь и собираешь, как хочешь
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Ну и если он не js  style, то ember, angular - тоже  не для js)
источник

MK

Mihail Kuzmin in Node.js — русскоговорящее сообщество
Denis
Кал. Аля джанго/beego. Монстро фреймворки это не ноджс стайл
А что ноджс стайл? SQL запросы в контроллер пихать?
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Alexey Ermakov
освежил в памяти, с нодой в чистом виде давно не работал
вообще всё так, events
я про пул (очередь запросов) забыл совсем, что оно имеется такое
Очередь запросов не ждёт пока предыдущий отработает
источник

AE

Alexey Ermakov in Node.js — русскоговорящее сообщество
Sergey 🛸
Очередь запросов не ждёт пока предыдущий отработает
я ж и написал, event driven
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Denis
Кал. Аля джанго/beego. Монстро фреймворки это не ноджс стайл
нод жс стайл — это запросы к бд делать в роуте? )
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Viktar Daniliuk
require('dotenv').config()
const http = require('http');
const PORT = process.env.PORT;
const delayInterval = process.env.DELAYINTERVAL;
const delayTimeout = process.env.DELAYTIMEOUT;

const server = http.createServer((req, res) => {
 
  if (req.url === '/') {
        let currentTime = null;
        let currentUTCTime = null;
 
        const timer = setInterval(() => {
           currentTime = new Date();
           currentUTCTime = ${currentTime.getUTCFullYear()}-${currentTime.getUTCMonth() + 1}-${currentTime.getUTCDate()} ${currentTime.getUTCHours()}:${currentTime.getUTCMinutes()}:${currentTime.getUTCSeconds()};
 
           console.log(currentUTCTime);
        }, delayInterval);
 
        const timeout = setTimeout(() => {
           console.log('clearInterval');
           clearInterval(timer);
           res.setHeader('Content-Type', 'text/html; charset=utf-8');
           res.statusCode = 200;
           res.end(<h1>${currentUTCTime}</h1>);
           server.close();
        }, delayTimeout);
  }
  else if (req.url === '/favicon.ico') {
     process.exit();
  };
});

server.listen(PORT, () => {
  console.log('Сервер работает');
});
ну да. проверь
источник

VD

Viktar Daniliuk in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
ну да. проверь
Не работает. Вернее работает, но по очереди как и раньше (((
источник
2020 March 24

D

Denis in Node.js — русскоговорящее сообщество
Mihail Kuzmin
А что ноджс стайл? SQL запросы в контроллер пихать?
Это брать микро либу конкретно под задачу, а не фреймворк
Завтра у вас go появится к примеру, или сервис на питоне, будете писать NestGo?
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Denis
Это брать микро либу конкретно под задачу, а не фреймворк
Завтра у вас go появится к примеру, или сервис на питоне, будете писать NestGo?
А что, на ноде только микроскопические сервисы пишут?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Viktar Daniliuk
require('dotenv').config()
const http = require('http');
const PORT = process.env.PORT;
const delayInterval = process.env.DELAYINTERVAL;
const delayTimeout = process.env.DELAYTIMEOUT;

const server = http.createServer((req, res) => {
 
  if (req.url === '/') {
        let currentTime = null;
        let currentUTCTime = null;
 
        const timer = setInterval(() => {
           currentTime = new Date();
           currentUTCTime = ${currentTime.getUTCFullYear()}-${currentTime.getUTCMonth() + 1}-${currentTime.getUTCDate()} ${currentTime.getUTCHours()}:${currentTime.getUTCMinutes()}:${currentTime.getUTCSeconds()};
 
           console.log(currentUTCTime);
        }, delayInterval);
 
        const timeout = setTimeout(() => {
           console.log('clearInterval');
           clearInterval(timer);
           res.setHeader('Content-Type', 'text/html; charset=utf-8');
           res.statusCode = 200;
           res.end(<h1>${currentUTCTime}</h1>);
           server.close();
        }, delayTimeout);
  }
  else if (req.url === '/favicon.ico') {
     process.exit();
  };
});

server.listen(PORT, () => {
  console.log('Сервер работает');
});
1. убери server.close()
2. убери process.exit()

нода запускает только один процесс. каждый запрос обрабатывается одним и тем же процессом. закроешь процесс или сервер — и все, запросы не будут обрабатываться.

а так, код работает. я проверил
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Denis
Это брать микро либу конкретно под задачу, а не фреймворк
Завтра у вас go появится к примеру, или сервис на питоне, будете писать NestGo?
как раз нест для этого отлично подходит — он и под микросервисы точен
источник

D

Denis in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
А что, на ноде только микроскопические сервисы пишут?
Есть зоопарк сервисов на nestjs, завтра надо вкорячить МЛ на питоне, то есть он должен как то пообщаться с другими, брать второй транспорт?
источник