Ответ 1
Похоже, что pm2
сам по себе не поддерживает перезапуск на основе шаблонов, но сделать это просто script не сложно, используя pm2 API.
Вот рабочий script, который демонстрирует идею:
var pm2 = require('pm2');
pm2.connect(function(err) {
if (err) {
console.error(err);
process.exit(2);
}
pm2.list(function(err, processDescriptionList) {
if (err) throw err;
for (var idx in processDescriptionList) {
var name = processDescriptionList[idx]['name'];
console.log(name);
if (name.startsWith('foo')) {
pm2.restart(name, function(err, proc) {
if (err) throw err;
console.log('Restarted: ');
console.log(proc);
});
}
}
});
});
Чтобы сделать его полностью функциональным, необходимо также передать foo
в качестве аргумента командной строки (теперь он жестко запрограммирован) и обработать выход (теперь он работает, но не выходит на финиш).
Вот пример полного кода , включая небольшие примеры приложений и конфигурации.