2016-08-23 88 views
0

我使用人群群集我keystonejs的应用程序,这似乎是做工精细 但是当我运行PM2重启keystonejs应用程序重复

const throng = require("throng"), 
     dotenv = require('dotenv'); 

(function usedotenv() { 
    try { 
     dotenv.config(); 
    } 
    catch (e) { 
     console.error(e); 
    } 
}()); 

throng({ 
    workers: process.env.WEB_CONCURRENCY || 1, 
    grace: 4000, 
    master() { 
    console.log("Starting master node"); 
    }, 
    start(id) { 
    console.log("Starting worker node "+id); 
    require("./keystone"); 
    } 
}); 

使用pm2 start index

│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │ 
├──────────┼────┼─────────┼───────┼─────────┼─────────┼────────┼────────┼──────────┤ 
│ index │ 0 │ cluster │ 11964 │ online │ 29  │ 2s  │ 0 B │ disabled │ 
│ index │ 1 │ cluster │ 6260 │ online │ 12  │ 2s  │ 0 B │ disabled │ 
│ index │ 2 │ cluster │ 7920 │ online │ 12  │ 2s  │ 0 B │ disabled │ 
│ index │ 3 │ cluster │ 5260 │ online │ 12  │ 1s  │ 0 B │ disabled │ 
│ index │ 4 │ cluster │ 15688 │ online │ 21  │ 1s  │ 0 B │ disabled │ 
│ index │ 5 │ cluster │ 17204 │ online │ 15  │ 1s  │ 0 B │ disabled │ 
│ index │ 6 │ cluster │ 15576 │ online │ 22  │ 1s  │ 0 B │ disabled │ 
│ index │ 7 │ cluster │ 6012 │ online │ 20  │ 1s  │ 0 B │ disabled │ 
│ index │ 8 │ cluster │ 10768 │ online │ 32  │ 1s  │ 0 B │ disabled │ 
│ index │ 9 │ cluster │ 9460 │ online │ 14  │ 0s  │ 0 B │ disabled │ 
│ index │ 10 │ cluster │ 16968 │ online │ 32  │ 0s  │ 0 B │ disabled │ 
│ index │ 11 │ cluster │ 12688 │ online │ 23  │ 0s  │ 0 B │ disabled │ 

网站工作正常,但pm2不断重新启动应用程序,因为它们没有使用任何内存:[PM2][WORKER] Process 0 restarted because it uses 0 memory and has ONLINE status

如何让pm2从重新启动g我的应用程序?

回答

0

它看起来像你所有的进程被命名为相同的“索引”。如果您使用

pm2 start 4 

例如,只启动一个进程它是否会停止重新启动所有进程?

如果使用id来启动它会允许它识别只是单一的指标,而不是所有指定索引

+0

的过程,当我开始处理一个ID,我只是想知道它仍然重启 –