将pm2与pkg一起使用

时间:2019-06-17 13:48:43

标签: node.js exe pm2

我从this site获得了帮助,并为我的节点应用程序创建了add_action( 'woocommerce_thankyou', 'bbloomer_thankyou_change_order_status' ); function bbloomer_thankyou_change_order_status( $order_id ){ if( ! $order_id ) return; $order = wc_get_order( $order_id ); // Status without the "wc-" prefix $order->update_status( 'custom-status' ); } (可执行文件)。但是,如果出现一些错误,它就消失了。我曾经通过使用.exe来继续使用它,但是现在我需要使用一个可执行文件,因此我已经使用pkg来创建其pm2文件。

是否有一种方法可以通过双击使用.exe来运行它?

2 个答案:

答案 0 :(得分:1)

我认为您无法停止正在运行的程序的顶级错误。它比nodeJS具有更多的操作系统功能。

您将需要捕获所有错误并正确管理它们。

最简单的方法(但不是最干净的方法)是将入口点包装在try catch函数中,并在出现错误时从catch重新启动它。

答案 1 :(得分:0)

据我所知,一旦PM2遇到错误,它就会重新启动,还有一种方法可以监视文件夹结构的变化。一旦出现错误,并且您的服务器即将在该特定时间重新启动,请使用该软件包生成.exe文件,然后启动服务器。

以下,如果要传递任何参数,请使用-node-args ,否则不要使用

pm2 start app.js --name "You App Name" --node-args="-r dotenv/config" --watch

然后在您的 app.js 文件中执行以下操作

const pkg = require('pkg');

//here use the package to build the .exe file

//here start the server