La page Processus d'un serveur gère les processus de longue durée sous Supervisor. Un processus est une commande qui doit tourner en permanence, comme un queue worker Laravel, Horizon, Reverb ou un serveur Node.js. Supervisor le démarre au démarrage du serveur et le relance quand il s'arrête ou plante. Depuis cette page, vous ajoutez des processus, vérifiez s'ils tournent, les arrêtez, les démarrez ou les redémarrez, et lisez leur sortie.
La page est disponible sur les serveurs d'application, les serveurs web et les serveurs worker.

Ajouter un processus
- Ouvrez le serveur et choisissez Processus dans la barre latérale.
- Cliquez sur Ajouter un processus.
- Remplissez le formulaire (les champs sont expliqués ci-dessous).
- Cliquez sur Ajouter.
Vimonto Deploy écrit un programme Supervisor pour le processus, le démarre et attend qu'il soit lancé. La ligne affiche Ajout pendant ce temps, puis le statut en direct.
| Champ | Défaut | Signification |
|---|---|---|
| Nom | Un nom pour reconnaître le processus, comme « Queue worker ». 60 caractères au maximum. | |
| Commande | La commande à exécuter, sur une seule ligne, comme php artisan queue:work --sleep=3 --tries=3. Les pipes et les variables fonctionnent tels que saisis. |
|
| Répertoire | le répertoire personnel de l'utilisateur | Où la commande démarre : un chemin complet, comme /home/vimonto/example.com/current. |
| Exécuter en tant que | l'utilisateur système | L'utilisateur système (vimonto par défaut) ou root. |
| Processus | 1 | Le nombre de copies de la commande qui tournent côte à côte, de 1 à 64. |
| Temps de démarrage (s) | 1 | Le temps pendant lequel il doit tourner pour être considéré comme démarré. Un processus qui se termine plus tôt compte comme un démarrage échoué. |
| Temps d'arrêt (s) | 15 | Le temps d'attente d'un arrêt propre avant que le processus ne soit tué. |
| Signal d'arrêt | TERM | Le signal envoyé pour arrêter le processus : TERM, HUP, INT, QUIT, KILL, USR1 ou USR2. |
Exemple : un queue worker Laravel
| Champ | Valeur |
|---|---|
| Nom | Queue worker |
| Commande | php artisan queue:work redis --sleep=3 --tries=3 --max-time=3600 |
| Répertoire | /home/vimonto/example.com/current |
| Exécuter en tant que | vimonto |
| Processus | 2 |
Utilisez le répertoire current d'un site, et non une release précise, pour que le worker exécute toujours le code en ligne. Pour un site isolé, les fichiers appartiennent à l'utilisateur propre du site ; ajoutez ses workers depuis la page des files d'attente du site, qui les exécute sous le bon utilisateur.
Que signifient les statuts ?
Le statut provient directement de Supervisor. Il est récupéré à l'ouverture de la page ; cliquez sur Actualiser le statut pour le récupérer à nouveau. Après avoir ajouté, modifié, arrêté, démarré ou redémarré un processus, la page le récupère d'elle-même une fois l'opération terminée.
| Statut | Signification |
|---|---|
| En cours | Chaque processus tourne. |
| Démarrage | Supervisor démarre le processus et attend que le temps de démarrage soit écoulé. |
| Arrêt en cours | Le processus a reçu son signal d'arrêt et s'arrête. |
| Arrêté | Le processus a été arrêté et ne tourne pas. |
| Échoué | Au moins un processus s'est terminé, n'a pas pu démarrer ou plante en boucle. Ouvrez le Log pour savoir pourquoi. |
| Inconnu | Supervisor ne connaît pas le processus, par exemple parce qu'il a été supprimé à la main. |
Quand seules certaines copies tournent, le statut affiche un compte, comme En cours 1/2.
Arrêter, démarrer et redémarrer un processus
Utilisez les boutons de la ligne du processus :
- Arrêter arrête chaque copie du processus jusqu'à ce que vous le démarriez à nouveau. Un redémarrage du serveur le relance.
- Démarrer apparaît une fois le processus arrêté et le relance.
- Redémarrer arrête puis démarre chaque copie, par exemple pour charger du nouveau code ou un
.envmodifié.
Chaque action s'exécute sous forme de tâche que vous pouvez suivre sur la page Activité. Une seule de ces actions à la fois peut tourner par processus.
Lire le log
Cliquez sur Log pour voir les 300 dernières lignes de la sortie du processus (sortie standard et erreurs ensemble), récupérées depuis le serveur au moment du clic. Supervisor écrit la sortie dans /var/log/vimonto/daemon-{id}.log et conserve jusqu'à 10 Mo par fichier, avec trois fichiers plus anciens.
Modifier un processus
Ouvrez le menu d'actions (⋯) et choisissez Modifier. Modifiez les champs et cliquez sur Enregistrer. Vimonto Deploy réécrit le programme Supervisor et redémarre le processus avec ses nouveaux réglages.
Si l'ajout ou la modification d'un processus échoue, la ligne affiche Échoué ; ouvrez le menu d'actions et choisissez Réessayer.
Supprimer un processus
Ouvrez le menu d'actions (⋯), choisissez Supprimer et confirmez avec Supprimer le processus. Le processus est arrêté, son programme Supervisor et son log sont supprimés, et il ne démarre plus.
Lien entre processus et sites
La page Processus affiche chaque processus Supervisor du serveur, y compris ceux qui appartiennent à des sites :
- Les Queue workers que vous ajoutez sur la page files d'attente et planificateur d'un site. Cette page propose un formulaire conçu pour les workers Laravel (connexion, file, timeout, tentatives, mémoire) et construit la commande pour vous.
- Les processus des fonctionnalités de site, comme Horizon, Reverb, Pulse ou Inertia SSR, qu'une fonctionnalité de site crée quand vous l'activez.
Ces processus apparaissent ici avec leur statut, leur Log et les boutons Arrêter, Démarrer et Redémarrer. Les processus d'une fonctionnalité de site portent un badge Via …, comme Via Horizon, et n'ont pas de menu d'actions ici : modifiez-les via la fonctionnalité dans l'en-tête du site, et désactivez la fonctionnalité pour les supprimer. Un worker que vous avez ajouté vous-même se modifie ou se supprime sur la page du site ou ici.
Questions fréquentes
Quelle est la différence entre un processus et une tâche planifiée ?
Un processus tourne en permanence et est relancé quand il s'arrête. Une tâche planifiée exécute une commande à heures fixes, comme chaque minute ou chaque nuit, puis se termine.
Mon processus affiche sans cesse Échoué. Que vérifier ?
Ouvrez le Log. Les causes courantes sont un Répertoire erroné, une commande introuvable parce qu'elle nécessite un chemin complet, une valeur manquante dans le .env, ou une commande qui se termine immédiatement au lieu de tourner au premier plan. Supervisor a besoin que la commande continue de tourner ; ne la lancez pas en arrière-plan avec & ou une option --daemon.
Un processus doit-il tourner en root ?
Rarement. Faites tourner les processus sous l'utilisateur système, sauf si la commande a vraiment besoin de root, pour qu'un bug de votre application ne puisse pas modifier le reste du serveur.
Puis-je faire tourner une application Node.js comme processus ?
Oui. Utilisez une commande comme npm run start ou node server.js avec le répertoire de l'application. Pour un site Node.js, la page Processus du site configure cela pour vous.