Closed nervouself closed 2 years ago
这里执行两次是因为分别初始化了 Application 和 Agent 的实例,是符合预期的;具体使用的是哪个 orm 插件呢?
typeorm,在同名链接被创建的时候会报错退出
agent 应该和 app 不在同一个进程?
agent 应该和 app 不在同一个进程?
Modern.js 中 agent 和 app 是在同一个进程,考虑到使用容器化技术之后;已经不需要在框架层面做进程管理,单进程对 Modern.js 支持不同框架也更加友好。
复现的仓库能给一下吗?
需要改下数据库配置再起
另,agent 设计原因就是起个新的进程干点公共的事,要是不新起进程的话感觉就失去意义了
这里支持 agent 是为了兼容 egg 生态圈的工具,单进程的话,agent 确实是不需要的。
node version:14.18.1 pnpm version:6.22.1
@modern-js/plugin-egg/src/framework/index.ts:22
第 22 行
super.load()
打 log 可以发现调用了两次,两次 trace:现象是会导致 orm 插件对同一个数据库连两次然后报错退出,具体为什么会触发两次 load 还没有 debug 到