Guide discord.js
Améliorer votre environnement de développement

PM2

PM2 est un gestionnaire de processus. Il gère l'état de vos applications, vous pouvez démarrer, arrêter, redémarrer et supprimer les processus. Il offre des fonctionnalités telles que le monitoring des processus en cours d'exécution et la mise en place d'un "démarrage avec le système d'exploitation" (qu'il s'agisse de Windows, Linux ou Mac) afin que vos processus démarrent au démarrage de votre système.

Installation

Vous pouvez installer PM2 via la commande suivante :

npm install --global pm2

Démarrage de votre application

Après l'installation de PM2, le moyen le plus facile de démarrer votre application est d'aller au répertoire où se trouve votre bot, puis d'exécuter la commande suivante :

pm2 start your-app-name.js

Notes supplémentaires

Le script pm2 start autorise d'autres arguments de ligne de commande optionnels.

  • --name : Cela vous permet de définir le nom de votre processus lors de son affichage avec pm2 list ou pm2 monit :
pm2 start your-app-name.js --name "Some cool name"
  • --watch : Cette option redémarrera automatiquement votre processus dès qu'un changement de fichier est détecté, ce qui peut être utile pour les environnements de développement :
pm2 start your-app-name.js --watch

La commande pm2 start peut prendre plus de paramètres optionnels, mais seuls ces deux sont pertinents. Si vous souhaitez voir tous les paramètres disponibles, vous pouvez consulter la documentation de pm2 ici.

Une fois que le processus démarre avec pm2, vous pouvez exécuter pm2 monit pour surveiller tous les résultats de la console à partir des processus démarrés par pm2. Cela inclut tout console.log() dans votre code ou les erreurs générées.

De la même manière que vous démarrez le processus, l'exécution de pm2 stop arrêtera le processus actuel sans le supprimer de l'interface de PM2 :

pm2 stop your-app-name.js

Configuration du démarrage avec votre système

L'une des caractéristiques les plus utiles de PM2 est la possibilité de démarrer avec votre système d'exploitation. Cette fonction garantira que vos processus de bot seront toujours démarrés après un redémarrage (inattendu) (par exemple, après une panne de courant).

Les étapes initiales diffèrent selon le système d'exploitation. Dans ce guide, nous couvrirons celles pour Windows et Linux/macOS.

Étapes initiales pour Windows

Il est recommandé d'utiliser pm2-installer. Suivez les étapes sur leur GitHub.

Étapes initiales pour Linux/macOS

Vous aurez besoin d'un script de démarrage, que vous pouvez obtenir en exécutant la commande suivante :

# Detects the available init system, generates the config, and enables startup system
pm2 startup

Ou, si vous voulez spécifier votre machine manuellement, sélectionnez l'une des options avec la commande :

pm2 startup [ubuntu | ubuntu14 | ubuntu12 | centos | centos6 | arch | oracle | amazon | macos | darwin | freesd | systemd | systemv | upstart | launchd | rcd | openrc]

Le résultat de l'exécution de l'une des commandes énumérées ci-dessus affichera une commande à exécuter avec toutes les variables d'environnement et les options configurées.

Exemple de sortie pour un utilisateur Ubuntu :

[PM2] You have to run this command as root. Execute the following command:
      sudo su -c "env PATH=$PATH:/home/user/.nvm/versions/node/v8.9/bin pm2 startup ubuntu -u user --hp /home/user

Après l'exécution de cette commande, vous pouvez passer à l'étape suivante.

Sauvegarde de la liste des processus actuels

Pour enregistrer la liste actuelle des processus afin qu'elle soit automatiquement démarrée après un redémarrage, exécutez la commande suivante :

pm2 save

Pour désactiver cela, vous pouvez exécuter la commande suivante :

pm2 unstartup