node.js - 使用 node/bree/bthreads 的 adhoc EPIPE 异常
问题描述
使用 node.js,当 bree.js 是负责定期创建工作作业的主要进程时,我使用了一种模式。Bree.js 使用 bthreads.js,我强制 bthreads 产生一个工作进程(使用BTHREADS_BACKEND=child_process
)。工作进程可能(取决于其范围)然后自己完成工作或(再次使用 bthreads)产生一个或多个工作人员)。
这种模式被用于许多解决方案中,在一周的时间里,我会发现大约 10-20 个“僵尸进程”。在同一时间段内产生的实际进程数将达到数百个。这些僵尸的出现是因为下面的例外。
我确定我有竞争条件(父母在孩子之前关闭)并且尝试了许多不同的方法来尝试隔离它。我查看了 bthreads 模块并尝试在退出之前向父级“发布”(即:发布 ("end") 或 ("done") ),但似乎没有任何帮助。bthreads 已经两年没有更新了,我正在使用节点 14。
任何有关如何进一步调试或将我的精力集中在哪里的指导表示赞赏。
解决方案
推荐阅读
- python - Selenium 在 Python 中结合多个预期条件
- three.js - 如何在不倾斜三个 js 的情况下向上移动相机
- python - 如何在 Selenium 中的主页重定向后检测框架是否不再活动
- python - 用于映射具有相等分布的两个向量的 MATLAB 代码
- php - 测试抛出 RequestGuard::viaRemember() 在第二个请求中不存在
- api - 如何按某列中的值对行进行分组,然后使用 Google Sheets API 将它们导出到相应的新电子表格
- javascript - 如何下载网页客户端的预览?
- sql - 基于 2 列合并数据
- c - 如何正确使用C switch 语句
- javascript - 为什么我的成绩计划获得未定义的回报?