перезагрузка работников кластера node.js - PullRequest
1 голос
/ 17 сентября 2011

У меня есть приложение узла, которое я использую кластером для работы на нескольких ядрах.

Я сталкиваюсь с проблемой, когда, когда мое приложение выдает исключение, работник умирает и не перезапускается.Это имеет смысл, но мне интересно, есть ли лучший способ справиться с перезапуском этих рабочих, вместо того, чтобы следить за ним, пытаться / ловить или слушать каждую ошибку.

Я использовал раньше всегда, ипохоже, что-то вроде этого будет хорошо работать для кластера.

Есть ли способ перезагрузить их или добавить обработку исключений «pokemon» на верхнем уровне в экспрессе, чтобы убедиться, что мои работники не умрут, если естьнеожиданное исключение?

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

развалить нового работника при наступлении смерти

cluster.on("death", function(worker){
    console.log("worker " + worker.pid + " died");
    var newWorker = cluster.fork(); 
    console.log("worker " + newWorker.id + " live");
});
2 голосов
/ 17 сентября 2011

Есть много сторонних инструментов, которые могут помочь с этим.Monit (http://mmonit.com/monit/) довольно популярен в сообществе Node. Другой вариант, из многих, это supervise (http://cr.yp.to/daemontools.html).

...