node.js - pm2 + KOA process.send 未定义
问题描述
我正在尝试用 pm2 完成“优雅的开始”,但不知何故,我的 process.send 始终未定义。
我正在使用esm模块并使用yarn start启动我的应用程序
我正在记录 process.send,但不知何故它总是未定义。
app.listen(port, () => {
console.log('process.send', process.send);
console.log(`Server running on port ${port}`);
});
问题可能出在哪里?
谢谢和最好的问候
解决方案
我在pm2中使用npm start
as script的应用程序遇到了同样的问题。
我猜pm2需要使用节点中的内部子进程启动应用程序才能process.send('ready')
正常工作。
更改"script": "./dist/main.js"
为pm2使它对我有用。
因此,也许将您的配置和应用程序更改为以下内容:
module.exports = {
apps: [
{
name: 'myApp',
script: './dist/main.js',
time: true,
listen_timeout: 10000,
env: { environment: 'production', NODE_ENV: 'production', },
}
],
};
(取决于您构建的输出)
推荐阅读
- symfony - Symfony\Component\Console\Exception\LogicException 在 php bin/console server:run
- powershell - 向函数添加计数过程
- excel - 如何在Excel VBA中使用#复制超链接
- yocto - 如何让复杂的非 Yocto 基于 makefile 的项目在 Yocto 层中进行交叉编译?
- c# - 不知道类型的反序列化
- node.js - Nodemailer:如何发送带有 icalEvent 和附件的电子邮件
- sql - 计算一个表中的行并在另一个表中使用该变量(联合)
- c - 带有函数调用 arg 的 printf() 有时不正确
- spring-boot - 从 Spring Boot POM 文件中删除私有 docker 注册表凭据
- ubuntu - 如何从 json 输出中使用 ad hoc 和 jq 获取操作系统版本