2016-06-23 1 views
-1

Quelqu'un sait comment utiliser strong-pm pour contrôler un processus de travail au lieu d'une application Web? Je lance l'application web de la manière typique, via sl-pm, mais je veux aussi lancer un processus de travail qui fait aussi partie de l'application. Je souhaite déployer l'application Web dans un conteneur docker et le processus de travail dans un autre. Essentiellement, comment utiliser strong-pm d'une manière similaire à pm2, où vous pouvez spécifier les commandes que vous voulez que pm2 contrôle?Can Strongloop Processus de contrôle des processus du gestionnaire de processus?

Répondre

0

Trouvé une solution. Peut-être aidera quelqu'un d'autre plus tard.

slc run est ce qui démarre finalement le processus de noeud sur le serveur. selon slc run docs, il cherche d'abord dans package.json pour scripts.start et revient à la section principale. Donc c'était une impasse. J'ai plutôt utilisé une variable var placée avec soin dans server.js pour faire la différence entre l'application web et mon processus de travail. Quelque chose comme processus.env.START_WORKERS

# in server.js, within default loopback boot function 
boot(app, __dirname, function(err) { 
    if (err) throw err; 

    // start the server if `$ node server.js` 
    if (require.main === module) { 
    if (+process.env.START_WORKERS) { 
     require('./workers/start'); 
     return; 
    } else { 
     app.start(); 
    } 
    } 
});