Sails应用不会降低
问题描述:
在自定义脚本中,我正在解除Sails,做一些事情,然后调用.lower()
,但该应用并未停止。没有错误返回...Sails应用不会降低
const Sails = require('sails')
, rc = require('rc');
function run() {
Sails.lift(rc('sails', {process: 'manual'}), (err, server)=> {
if (err) {
console.error(err);
}
// ... do some stuff
Sails.lower({}, (err)=> {
console.log('ERROR', err);
return true;
});
});
});
}
该应用程序只是继续运行。 .lower()
没有返回错误,默认情况下它没有回调结果。我调试lower.js
文件本身,并发现该代码甚至没有达到...
我认为问题是lower()
返回一个回调,但我的脚本不接受一个,所以我该如何管理这个案例?
答
因此,实际上应用程序正在降低,所有服务(HTTP,套接字等)都被关闭,但进程本身继续运行。 process.exit()
是解决方案。所以,我首先优雅地降低所有的服务,然后终止这个过程:
Sails.lower({}, (err) => {
if (err) {
log.error('An error occurred while shutting the server down.');
}
process.exit();
});
希望你只打电话给错误的权利。尝试添加一个console.log检查降低后。 或 添加Sails回调来检查下降是否完成。 – Thennarasan
@Thennarasan,我更新了我的帖子。 – Milkncookiez