J'ai une application Node.JS qui permet d'accéder à une base de données MySQL, quelques requêtes HTTP, enregistre la réponse CSV dans un fichier, lit le même fichier et écrit sur Cassandra. Je l'utilise sur Ubuntu 14.04 et j'utilise Express, pour exposer une API web qui fait toutes les tâches ci-dessus.Script NodeJS tué par SIGKILL en cours d'exécution sur Forever
J'ai une autre application écrite dans Node.JS qui appelle l'API pour 200 utilisateurs. Comme c'est Node.JS, les appels sont asynchrones.
je lance l'application Express à l'aide:
node index.js
Quand je lance l'autre script, qui frappe l'API Express, le script fonctionne très bien pour 200 utilisateurs avec une réponse:
{"status":200,"message":"Got the data and saved to the DB"}
Lorsque j'exécute la même application Express à l'aide de Forever:
forever start -w index.js
puis exécutez le Cron Script pour 200 utilisateurs, je reçois
err { [Error: socket hang up] code: 'ECONNRESET' }
et quand j'ouvre le fichier journal, ce que je trouve:
error: restarting script because add changed error: Forever detected script was killed by signal: SIGKILL error: Script restart attempt #5
Maintenant que l'App fonctionne bien en cours d'exécution au premier plan et est tué en cours d'exécution en arrière-plan, doit-il faire quelque chose sur la quantité de ressources allouées à un processus de démon?
Dois-je augmenter mon serveur? Ou est-il possible d'allouer plus de ressources à l'application Express?
Avez-vous essayé d'exécuter 'forever' sans le drapeau' -w'? – robertklep
Je l'ai fait, mais le même résultat. Je tirais constamment du nouveau code de bit bucket vers ce dépôt, d'où le drapeau -w. – vnay92
J'ai compris! J'ai dû ajouter un dossier dans .foreverignore – vnay92