我从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
来运行它?
答案 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