NodeJS Forever paquet minUptime et spinsleeptime Avertissements
j'essaie d'exécuter la fonction forever pour le noeud.js, mais je reçois les avertissements ci-dessous;
C:serv>forever start SERVER.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up f
or at least 1000ms
info:    Forever processing file: SERVER.js
Comment définir --minUptime et --spinSleepTime pour supprimer ces avertissements
Installé forever package npm install forever -g
5 réponses
ce ne sont que des avertissements. Tu peux continuer à les ignorer, si tu veux.
Mais si vous voulez définir explicitement, forever --help vous dit comment faire. Commençons juste forever avec:
forever start --minUptime 1000 --spinSleepTime 1000 SERVER.js
La documentation n'est pas très exhaustive, un peu d'informations supplémentaires.
dans les exemples suivants, nous utiliserons deux scripts:
fail-fast.js:
    process.exit(1);
fail-lent.js:
    setTimeout(() => { process.exit(1); }, 2000);
1) en utilisant les paramètres par défaut
    forever fail-fast.js
fail-fast.js script exécutera une seule fois, alors aucune autre tentative de démarrage ne sera faite.
    forever fail-slow.js
fail-slow.js script redémarré indéfiniment, car il reste plus de 1000ms (valeur par défaut de minUptime si non spécifié). Vous pouvez limiter le nombre de redémarrages avec l' -m paramètre.
2) Paramétrage seulement minUptime
    forever --minUptime 10000 fail-fast.js
    forever --minUptime 10000 fail-slow.js
fail-fast.js et fail-slow.js sera ne jamais être redémarré, parce que nous avons étendu minUptime à 10 secondes et maintenant fail-slow.js est considéré comme la filature.
3) paramètre spinSleepTime
Chaque fois que vous définissez spinSleepTime (avec notre sans minUptime),votre processus de redémarrage, même s'il est considéré comme 'tourner'.
    forever --spinSleepTime 30000 fail-fast.js
    forever --spinSleepTime 30000 fail-slow.js
les Deux scripts seront redémarré pour toujours, wating spinSleepTime millisecondes entre les redémarrages.
En bref:
When stop
    if hadRunTime >= minUptime 
       restart 
    else if spinSleepTime != 0
         wait spinSleepTime
         restart
    else 
         stop and no restart
 @Megadix la réponse a quelque chose qui ne va pas avec spinSleepTime.
fail-fast.js va redémarrer wating spinSleepTime,mais fail-slow.js redémarre immédiatement,pas d'attente! Il peut être Prouvé par:
 console.log((new Date()).getTime());
 setTimeout(() => {
    process.exit(1);
   }, 2000);
sortie de la forme:
1468812185697
error: Forever detected script exited with code: 1
error: Script restart attempt #1
1468812187766
error: Forever detected script exited with code: 1
error: Script restart attempt #2
1468812189834
error: Forever detected script exited with code: 1
error: Script restart attempt #3
1468812191901
error: Forever detected script exited with code: 1
error: Script restart attempt #4
1468812193977
error: Forever detected script exited with code: 1
error: Script restart attempt #5
1468812196039
error: Forever detected script exited with code: 1
error: Script restart attempt #6
1468812198107
error: Forever detected script exited with code: 1
error: Script restart attempt #7
1468812200172
error: Forever detected script exited with code: 1
forever start --minUptime 1234 --spinSleepTime 3421 SERVER.js
je suppose que vous utilisez le module express bien après avoir utilisé - forever start SERVER.js-votre serveur n'est pas en cours d'exécution, car express module exécute le serveur dans path ./bin / www - vous devriez donc utiliser cette commande - forever start ./bin / www --name= "SERVER" - nom est le nom de votre fichier js, par défaut app.js