2015-01-11 8 views
17

Ich bin mit PM2 mit diesem:Express 4 + PM2 uhr arbeitet nicht

pm2 start bin/www --watch ../ 

Problem ist, dass, wenn ich app.js im Stammordner aktualisieren, es scheint nicht, Knoten zu autorestarting. Irgendwelche Ideen?

//processes.json: 
    { 
     "apps" : [{ 
     "name"  : "someExpress4App", 
     "script"  : "bin/www", 
     "watch"  : "../", 
     "log_date_format" : "YYYY-MM-DD HH:mm Z", 
     }] 
    } 

, dass auf der Wurzel des Projektes Stoßen, dann PM2 laufen wie so:

+0

Ich habe dies versucht, mich zu verstehen. Mein Gedanke ist, dass das Watch-Verzeichnis relativ zum Ausführungsverzeichnis verwendet werden könnte, welches das Root-Verzeichnis des Projekts ist. Wenn Sie also '--watch ../' angeben, geben Sie den Ordner * oberhalb * an du willst wirklich zuschauen. Ich habe es selbst nicht ausprobiert, da ich 'pm2' auf einem Produktionsserver verwende, also lande ich' ssh' in, 'git pull'' den neuesten Code und führe dann' pm2 Neustart www' manuell aus, was nicht zu deinem Problem gehört. –

+1

@BrandonAnzaldi: Entdeckt eine Lösung. Als Antwort unten veröffentlicht. – ninjaneer

Antwort

35

eine Lösung aus Figured

pm2 start processes.json 
+0

Sollte "Watch" ein boolescher Wert sein? Aktiviert die Überwachungsfunktion, Standardeinstellung ist "false". Wenn dies der Fall ist, wird die App jedes Mal neu gestartet, wenn eine Dateiänderung im Ordner oder Unterordner Ihrer App erkannt wird. – spikeyang

+1

Dadurch wird das gesamte Express-Stammverzeichnis angezeigt. Das bedeutet, wenn Sie etwas wie Webstorm verwenden, das ein Verzeichnis .idea verwaltet, wird Ihr PM2 Ihren Server jedes Mal neu starten, wenn Webstorm in dieses Verzeichnis schreibt. Das gleiche gilt, wenn Sie etwas im Ordner public ändern ... Stattdessen schlage ich vor, das Verzeichnis, das Sie ansehen möchten, direkt hinzuzufügen und Ihre app.js '" watch ": ['core', 'other-folder', 'app .js '] ' – user1853777

+0

@ user1853777: es könnte besser sein,' "ignore_watch": [".idea"] 'wenn Sie genau wissen, was ständig aktualisiert wird. – ninjaneer