2016-07-22 6 views
0

カスタムスクリプトでは、セイルを持ち上げていくつかのことをしてから.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()はコールバックを返しますが、スクリプトは受け入れないので、どうすれば管理できますかこの場合?

+0

あなたは誤った権利しか求めていません。下げの後で確認するためにconsole.logを追加してみてください。 OR 降下が完了したことを確認するセールコールバックを追加します。 – Thennarasan

+0

@Thennarasan、私は私のポストを更新しました。 – Milkncookiez

答えて

1

実際には、アプリケーションは低下しており、すべてのサービス(HTTP、ソケットなど)はシャットダウンされましたが、プロセス自体は継続して実行されていました。 process.exit()が解決策でした。だから、私はまずすべてのサービスを正常に下げてから、プロセスを終了します。

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