How to use the forever.Monitor function in forever

To help you get started, we’ve selected a few forever examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github webgme / webgme / nodeserver / src / server / StandaloneServer.js View on Github external
else{
                res.writeHead(200);
            }
            res.end(data);
        });
    }),
        project,
        io = require('socket.io').listen(http);
    clientsrcfolder = "/../client";

    io.set('log level', 1); // reduce logging
    http.listen(parameters.ServerPort);

    console.log('[OS]:'+os.platform());
    if(os.platform().indexOf('win') === -1 || os.platform() === 'darwin'){
        project = new (require('forever').Monitor) (require('path').join(__dirname,'GmeProject.js'),{'options':[parameters.ProjectPort,parameters.ProjectName,parameters.BranchName]});
        project.start();
    }
    else{
        project = require('child_process').spawn('cmd');
        project.stdout.on('data', function (data) {
            console.log('[P-stdout] ' + data);
            if(data.toString().indexOf("no more clients, quit") !== -1){
                console.log('[P-stdout] restarting project');
                project.stdin.write('node --debug GmeProject.js '+parameters.ProjectPort+" "+parameters.ProjectName+" "+parameters.BranchName+'\n');
            }
        });
        project.stderr.on('data', function (data) {
            console.log('[P-stderr] ' + data);
        });
        project.stdin.write('node --debug GmeProject.js '+parameters.ProjectPort+" "+parameters.ProjectName+" "+parameters.BranchName+'\n');
    }
github webgme / webgme / nodeserver / src / server / standalon3.js View on Github external
}
                else{
                    res.writeHead(200);
                }
                res.end(data);
            });
        }),
        project,
        io = require('socket.io').listen(http);
        clientsrcfolder = "/../client";

    io.set('log level', 1); // reduce logging
    http.listen(parameters.ServerPort);
    if(os.platform().indexOf('win') === -1){
        project = new (require('forever').Monitor) (require('path').join(__dirname,'proj3ct.js'),{'options':[parameters.ProjectPort,parameters.ProjectName,parameters.BranchName]});
        project.start();
    }
    else{
        project = require('child_process').spawn('cmd');
        project.stdout.on('data', function (data) {
            console.log('[P-stdout] ' + data);
            if(data.toString().indexOf("no more clients, quit") !== -1){
                console.log('[P-stdout] restarting project');
                project.stdin.write('node --debug proj3ct.js '+parameters.ProjectPort+" "+parameters.ProjectName+" "+parameters.BranchName+'\n');
            }
        });
        project.stderr.on('data', function (data) {
            console.log('[P-stderr] ' + data);
        });
        project.stdin.write('node --debug proj3ct.js '+parameters.ProjectPort+" "+parameters.ProjectName+" "+parameters.BranchName+'\n');
    }
github cn007b / my / ed / nodeJs / _ruBookPauersS / forever.node.js View on Github external
restart                Перезапускает сценарий.
restartall             Перезапускает все сценарии, запущенные с помощью Forever.
cleanlogs              Удаляет все записи в журналах.
logs                   Выводит список всех журналов для всех Forever-процессов.
list                   Выводит список всех выполняемых сценариев.
config                 Выводит перечень пользовательских конфигураций.
set <ключ> <значение>  Устанавливает для конфигурации пару ключ-значение.
clear <ключ>           Очищает значение ключа конфигурации.
logs <сценарий|индекс> Закрывает журналы для сценария или индекса.
columns add <столбец>  Добавляет столбец к списку вывода Forever.
columns rm <столбец>   Удаляет столбец для списка вывода Forever.
columns set <столбцы>  Устанавливает все столбцы для списка вывода Forever.
*/

var forever = require('forever');
var child = new (forever.Monitor)('your-filename.js', {
    max: 3,
    silent: true,
    options: []
});
child.on('exit', this.callback);
child.start();
github nodejitsu / haibu / lib / haibu / carapace / utils.js View on Github external
exports.spawn = function spawn(options, done) {
  var droneId = 'drone' + (i++);
  socket = droneRoot + droneId  + '.sock';
    
  options.pidFile = options.pidFile || socket.replace(/[.]sock$/,'') + '.pid';
  options.silent = false;
  
  var monitor = new forever.Monitor(['node',loaderPath,socket, masterSocketPath],options);
  var drone = new EventEmitter2();
  drone.socket = droneId;
  monitor.on('start',function(monitor, file, data) {
    drone.data = data;
  });
  monitor.start();
  
  var connected = false;
  function lookForDrone(event, droneSocket) {
    if (droneSocket !== socket) {
      return;
    }
    connected = true;
    haibu.socket.removeListener('drone.ready', lookForDrone);
    dnode.connect(socket, function(client, conn) {
      conn.on('ready',function() {

forever

A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever)

MIT
Latest version published 2 years ago

Package Health Score

56 / 100
Full package analysis