2016-08-23 94 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,我只是想知道它仍然重啓 –