Подскажите, я в обработчике http запросов передаю команду воркеру на вызов CPU-bound операции, и после бомбардировки автокэнноном у меня иногда выдает:
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 message listeners added to [Worker]. Use emitter.setMaxListeners() to increase limit.
Ничего не крашится, все запросы выполняются асинхронно, просто периодически в консоли вылетает это сообщение.
Псевдокод master.js:
worker.postMessage(100000);
worker.once('message', (data) => {
res.end(data);
})
Псевдокод worker.js:
parentPort.on('message', async (msg) => {
let data = await bench(msg)
parentPort.postMessage(data)
})
Что я неправильно делаю?
P.S. (Суть самого сообщения я понимаю. Не понимаю только надо ли мне что-то с этим делать, например если рост листнеров является следствием неправильного кода. Или же так и должно быть?)