Voila ceci semble un sujet tres important mais trouver des bonnes resources c'est parfois tres difficile.
Je vais essaye d'aller droit au but sans tourner au tout du pot. pour vous montrer comment installer Supervisor/Superviseur sur Ubuntu pour gerer les processus de queue (file d'attente dans une application Laravel).
C'est tout simplement un program qui peu etre demerrare en arriere plan pour vous aider a gerer les programmes de gestion de file d'attente comme par example artisan:queue. Donc ici je vais vous enumerer les etapes qu'ils faut pour l'utiliser pour gerer votre programme de gestion des queue de file d'attente dans Laravel.
$ sudo apt install supervisor
Vérifiez qu'il s'exécute correctement après l'installation :
$ service supervisor status
$ sudo groupadd supervisor
$ sudo usermod -a -G supervisor ubuntu
Voici le chemin complet du fichier /etc/supervisor/supervisord.conf :
; supervisor config file
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0770 ; sockef file mode (default 0700)
chown=ubuntu:supervisor
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.
[include]
files = /etc/supervisor/conf.d/*.conf
Dans la section [unix_http_server]
, nous pouvons voir la directive ajustée chmod=0770
qui attribuera des autorisations d'écrire au groupe pour le fichier socket, ainsi que la ligne chown=ubuntu:supervisor
qui ajustera le groupe du fichier socket à notre superviseur nouvellement créé dans le groupe.
Rechargez le processus après avoir ajusté le fichier de configuration :
$ sudo service supervisor restart
Dans cet exemple, nous allons contrôler une file d'attente Laravel ; voici le fichier de configuration dans /etc/supervisor/conf.d/laravel-queue.conf :
[programme:laravel-queue]
nom_processus=%(nom_programme)s_%(numéro_processus)02d
command=sudo php /var/www/laravel/artisan queue:work database --tries=3 --queue=laravel_queue
utilisateur=ubuntu
démarrage automatique=vrai
redémarrage automatique=vrai
numprocs=5
redirect_stderr=true
stdout_logfile=/var/www/laravel/storage/logs/test.log
La variable de commande indique au superviseur quelle commande exécuter, dans notre cas une commande artisan pour travailler sur une file d'attente Laravel spécifique. Le stdout_logfile ajoute un fichier journal au répertoire des journaux de Laravel.
Utilisez la commande reread supervisor pour informer le superviseur du nouveau fichier de configuration du programme que nous venons de créer, puis utilisez la commande update pour appliquer les modifications :
$ supervisorctl reread
queue: changed
$ supervisorctl update
$ supervisorctl status
queue:queue_00 RUNNING pid 18494, uptime 0:00:02
Liens utiles
Documentation du superviseur : http://supervisord.org/index.html
Jespere que ceci vous a ete utilie?
By receiving free stock articles and smart tutorials to advance your career...