Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2019 June 04

RK

Roman Krushanovskyi in NodeUA - JavaScript and Node.js in Ukraine
это в том файле, который запускается?
источник

А

Андрей in NodeUA - JavaScript and Node.js in Ukraine
нет это вообще в разных файлах\классах
источник

RK

Roman Krushanovskyi in NodeUA - JavaScript and Node.js in Ukraine
process.on('SIGINT'
по идее должно быть в том файле, который ты запускаешь
node server.js
источник

RK

Roman Krushanovskyi in NodeUA - JavaScript and Node.js in Ukraine
тут в server.js
источник

А

Андрей in NodeUA - JavaScript and Node.js in Ukraine
да в главном есть, потом я передаю наследникам метод для обратоки. В Cluster'ax всё отрабатывает а в chilprocess не могу кинуть сигнал
источник

А

Андрей in NodeUA - JavaScript and Node.js in Ukraine
static spawner(command, args, options, onStderr, onStdout) {
   const stdout = [];
   const stderr = [];
   const promise = spawn(command, args, options);
   const { childProcess } = promise;

   process.on('SIGINT', (code, signal) => {
     console.log('from spawner', code, signal);
   });

   // var eventEmitter = new process.EventEmitter();
   // eventEmitter.emmit('SIGINT', { test: 'test' });

   // childProcess.on('SIGINT', (code, signal) => {
   //   console.log('SIGNAL ::', signal);
   //   // stdout.push(signal);
   //
   //   // childProcess.disconnect();
   // });
   // childProcess.on('close', (code, signal) => {
   //   console.log('close ::', signal);
   //   // stdout.push(signal);
   //
   //   // childProcess.disconnect();
   // });
   // childProcess.on('disconnect', (code, signal) => {
   //   console.log('disconnect ::', signal);
   //   // childProcess.disconnect();
   // });
   // childProcess.on('exit', (code, signal) => {
   //   console.log('exit ::', signal);
   //   // childProcess.disconnect();
   // });

   childProcess.stderr.on('data', data => {
     console.log('stderr', data);
     stderr.push(data);
     onStderr(data);
   });

   childProcess.stdout.on('data', data => {
     console.log('stdout', data);
     stdout.push(data);
     onStdout(data);
   });

   console.log('events', childProcess._events);

   return promise.then(() => Buffer.concat(stdout)).catch(err => {
     err.message = Buffer.concat(stderr).toString();

     console.log('message', err.message);

     return Promise.reject(err);
   });
 }
источник

А

Андрей in NodeUA - JavaScript and Node.js in Ukraine
в Childprocess._events есть слушатели
источник

А

Андрей in NodeUA - JavaScript and Node.js in Ukraine
причём все
источник

RK

Roman Krushanovskyi in NodeUA - JavaScript and Node.js in Ukraine
хз, с этим не работал(
источник

O

OB.one in NodeUA - JavaScript and Node.js in Ukraine
привіт всім! якщо хтось останім часом займався парсингом pdf, підкажіть які пакети юзали? дивлюсь на цей https://www.npmjs.com/package/pdf-parse,  але в він має останній мейнтейн 7 місяців тому. Або цей https://www.npmjs.com/package/pdf2json . Поділіться досідом якщо юзали якийсь з них.
источник

A

Anton in NodeUA - JavaScript and Node.js in Ukraine
Привет, вопрос : jwt.decode(token) возвращает null, хотя токен передаю, почему такое может быть?
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
че за модуль?
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
если там коллбек, то в ноде обычно первым аргументом идет ошибка, а значение вторым
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
и ошибка нулл
источник

BY

Bohdan Yurchuk in NodeUA - JavaScript and Node.js in Ukraine
Андрей
Доброго дня, помогите разобраться. Задача ловить сигнал SIGINT и убивать воркеров созданных через child-process.spawn()
https://youtu.be/CubdrUt-G3c смотри с половины. Должно помочь
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
@tigermax139 это видео вообще не о том, вопрос был про child_process.spawn, а не про cluster
источник

BY

Bohdan Yurchuk in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
@tigermax139 это видео вообще не о том, вопрос был про child_process.spawn, а не про cluster
там в примерах должно быть про child_process
и про отлавливание SIGINT
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Bohdan Yurchuk
там в примерах должно быть про child_process
и про отлавливание SIGINT
нету, человек же говорит, что у него с кластером работает, а с child_process нет. Ему вообще даже балансировать сокеты не нужно, он процессы плодит для обработки чего-то а не для сервера
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Андрей
static spawner(command, args, options, onStderr, onStdout) {
   const stdout = [];
   const stderr = [];
   const promise = spawn(command, args, options);
   const { childProcess } = promise;

   process.on('SIGINT', (code, signal) => {
     console.log('from spawner', code, signal);
   });

   // var eventEmitter = new process.EventEmitter();
   // eventEmitter.emmit('SIGINT', { test: 'test' });

   // childProcess.on('SIGINT', (code, signal) => {
   //   console.log('SIGNAL ::', signal);
   //   // stdout.push(signal);
   //
   //   // childProcess.disconnect();
   // });
   // childProcess.on('close', (code, signal) => {
   //   console.log('close ::', signal);
   //   // stdout.push(signal);
   //
   //   // childProcess.disconnect();
   // });
   // childProcess.on('disconnect', (code, signal) => {
   //   console.log('disconnect ::', signal);
   //   // childProcess.disconnect();
   // });
   // childProcess.on('exit', (code, signal) => {
   //   console.log('exit ::', signal);
   //   // childProcess.disconnect();
   // });

   childProcess.stderr.on('data', data => {
     console.log('stderr', data);
     stderr.push(data);
     onStderr(data);
   });

   childProcess.stdout.on('data', data => {
     console.log('stdout', data);
     stdout.push(data);
     onStdout(data);
   });

   console.log('events', childProcess._events);

   return promise.then(() => Buffer.concat(stdout)).catch(err => {
     err.message = Buffer.concat(stderr).toString();

     console.log('message', err.message);

     return Promise.reject(err);
   });
 }
В этом коде невозможно не запутаться, полная каша:
- не может быть new process.EventEmitter(); EventEmitter находится в библиотеке events
- не emmit, а emit
- SIGINT передавать через ивентемиттер бессмысленно
- нету childProcess.stderr, но есть у самих форкнутых процессов stderr
и много чего еще
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Андрей
да в главном есть, потом я передаю наследникам метод для обратоки. В Cluster'ax всё отрабатывает а в chilprocess не могу кинуть сигнал
Код в гитхаб или гист по ссылке, и лапшу перед этим нужно разобрать
источник