如何解决Nodejs fork on("message, ..) 消息限制
在 NodeJs 中使用以下代码:
const { fork } = require('child_process');
const thread = fork(path.join(__dirname,'/thread.js'));
thread.on('message',(results) => {
console.log('RES',results.length);
if (results.error) {
res.send({ error: true,message: results.message });
return;
}
res.send(results.data);
});
thread.on('error',(err) => {
console.log(err);
});
thread.send({ data: JSON.stringify(dataToProcess) });
thread.on('exit',() => {
if (thread) {
thread.kill();
return;
}
});
当从子级向父级发送较大的 (1.5mb) 消息时,它不会发送任何内容。发送较小的消息没有问题。有硬限制吗?如果可以,可以增加吗?
现在测试不同的有效载荷大小:
1mb - 发送失败
0.5mb - 失败
0.2mb - 失败
0.15mb - 没问题
0.1mb - 可以
在 windows 上还可以....linux 似乎有一个限制
解决方法
我无法弄清楚,但我确实将 fork 更改为网络工作者并且它似乎发送了更大的有效载荷。我还不知道完整的影响,但我会继续关注它
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。