2 votes

Node.js PM2 log : L'application [server:0] a quitté avec le code [0] via le signal [SIGKILL].

Dans mon application Node.js, j'appelle une API externe qui prend plus de 7 minutes pour obtenir la réponse, pendant ce temps, j'obtiens ceci :

PM2 log : L'application [server:0] a quitté avec le code [0] via le signal [SIGKILL].

et le processus est en train d'être tué.

3voto

Hardik Raval Points 277

Cela a réglé mon problème.

Arrêtez et supprimez d'abord votre application PM2 en cours.

pm2 stop <app name>

pm2 delete <app name>

Ensuite, exécutez les commandes suivantes :

pm2 kill

rm -rf ~/.pm2

Maintenant, redémarrez votre application et regardez les logs.

pm2 start <app name>

pm2 logs

2voto

Ivan Cherviakov Points 498

Habituellement, sur le web, attendre ne serait-ce qu'une minute est déjà une sorte de signal. Le délai d'attente standard de Chrome est de 3 minutes, donc je pense que vous devez absolument vérifier si votre serveur n'envoie pas d'erreur de délai d'attente sur votre requête à l'API externe.

Une autre bonne pratique d'écriture de serveur est de faire en sorte qu'il ne s'écrase jamais en cas d'erreur, de toujours tout entourer de try catch, d'utiliser des validations pour attraper les erreurs et renvoyer une réponse préparée, ou dans le pire des cas, d'afficher l'erreur dans la console du serveur, mais de faire en sorte que le serveur soit toujours disponible pour répondre à d'autres demandes après cela.

PM2 est formidable mais il n'est utile que si votre serveur tombe en panne de temps en temps et qu'il doit rester en marche, s'il tombe en panne régulièrement pm2 n'a aucune utilité, vous devez réparer votre serveur.

En y réfléchissant, vérifiez également si cette demande ne prend pas trop de ressources à traiter, si le système n'a plus de ressources, il arrêtera votre processus.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X