Sails应用程序不会降低

时间:2016-07-22 10:25:50

标签: node.js sails.js

在自定义脚本中,我正在解除Sails,做一些事情,然后调用.lower(),但应用程序不会停止。没有错误返回......

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()会返回一个回调,但我的脚本不接受回调,那么如何管理这个案例呢?

1 个答案:

答案 0 :(得分:1)

所以,实际上应用程序正在降低并且所有服务(HTTP,套接字等)都被关闭,但是进程本身继续运行。 process.exit()是解决方案。所以,我首先优雅地降低所有服务,然后终止该过程:

      Sails.lower({}, (err) => {
        if (err) {
          log.error('An error occurred while shutting the server down.');
        }
        process.exit();
      });