Я хочу запустить process
на ином экземпляре, а не на сервере Node
. Я пытаюсь с помощью child_process, создаю цикл и выполняю child_process
.
Из child_process я получаю как Buffer
и объектный формат, как показано ниже.
{ data: [], status: 'active', success: true }
Как мне получить эти данные в виде объектного формата?
const child = spawn('node', ['app.js']);
child.stdout.on('data', (data) => {
// How can I apply filter over to ignore some data
console.info(data) // print buffer
console.info(data.toString()) // print some stringify Obj
});
Есть ли способ отправить данные для child_process
с app.js
, кроме console.info
?
Если app.js является сценарием узла, легко отправить данные вызывающему (и наоборот), например:
index.js
const child_process = require('child_process');
const appInstance = child_process.fork('app.js', [], {});
appInstance.on('message', message => {
console.info('Message from app.js:', message, JSON.stringify(message));
});
app.js
// Send some data to caller.
const data = { status: 'ok', message: 'hello from app.js' };
if (process.send) {
process.send(data);
}
Если вы хотите отфильтровать, есть множество способов сделать это. В обработчике сообщений вы можете включить объект сообщение, например если (сообщение && message.status).
Каковы требования к серверу для однократной работы
100 child_process
?