Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines / Осваиваем Swoole PHP: построение высокопроизводительной конкурентной системы с асинхронностью и корутинами: Управление процессом приложения Swoole

Оглавление
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Управление процессом приложения Swoole
Если вы запускаете приложение Swoole не в Docker, то процессом приложения рекомендуется управлять через стандартные менеджеры процессов supervisord или systemd.
Пример конфигурации supervisord:

bubenok 18.02.21 в 02:23

0

[program:swooleapp]
command=/usr/local/bin/php index.php
directory=/app/
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autorestart=true
startretries=5

bubenok 18.02.21 в 02:23

0

Возможно вам придется изменить пути под ваше окружение. Преимущество использования supervisord заключается в том, что в случае непредвиденого завершения работы, Swoole будет перезапущен. При перезапуске всего сервера Linux supervisord автоматически запускает и Swoole.

bubenok 18.02.21 в 02:27

0

Systemd может управлять приложением Swoole как службой:

bubenok 18.02.21 в 02:28

0

[Unit]
Description=Swoole Appliation
After=network.target
After=syslog.target
[Service]
Type=simple
LimitNOFILE=65535
ExecStart=/usr/local/bin/php /app/index.php
ExecReload=/bin/kill -USR1 $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target graphical.target

bubenok 18.02.21 в 02:28

0

Сохраните эту конфигурацию в файл /etc/systemd/system/swooleapp.service и запустите службу командой:

bubenok 18.02.21 в 02:29

0

sudo systemctl --system daemon-reload
sudo systemctl start echo.service

bubenok 18.02.21 в 02:29

0
Минутку...