2016-06-21 28 views
0

再デプロイ/デプロイ後PM2アプリケーションの正しいステータスを取得し、ので、私の展開プロセスの最後に、私は私は、展開のためにPM2を使用しようとしている

pm2 startOrReload staging.json --env preprod 

を行うと、私はこれを取得:

16:26:12 ‘staging/current’ -> ‘/srv/pb/dev/v0.0.6-85-g755a611’ 
16:26:12 [PM2] Applying action reloadProcessId on app [pb1](ids: 0) 
16:26:13 [PM2] [pb1](0) ✓ 
16:26:13 ┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────────────┬──────────┐ 
16:26:13 │ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory  │ watching │ 
16:26:13 ├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────────────┼──────────┤ 
16:26:13 │ pb1  │ 0 │ fork │ 30180 │ online │ 111  │ 0s  │ 19.805 MB │ enabled │ 
16:26:13 └──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────────────┴──────────┘ 

のステータスはオンラインでであることに気付くことがあります。これは、展開がsucessfullであるかどうかに関係なく行われます。
そして、ジェンキンスのビルドは、そうでないときに成功としてマークしています。直後にあなたが

pm2 list 

を行う場合は

だから私は失敗

としてビルドをマークすることができるようにAPIか何かを経由して正しいステータスを取得する方法がある オフライン正しいステータスを取得します

答えて

0

1)あなたは、CLIからJSON形式で現在の状態を取得することができます:

pm2 jlist 
pm2 prettylist 

2)それとも、午後に接続することができます2インスタンスをプログラムで指定します。

var pm2 = require('pm2'); 

pm2.connect(function(err) { 
    if (err) process.exit(); 

    pm2.list(function(err,list) { 
    list.forEach(function(e) { 
     console.log(e.name, e.pm2_env.status); 
    }); 
    pm2.disconnect(); 
    }); 

}); 

3)またはkeymetrics monitoringを使用できます。

関連する問題