66 lines
1.9 KiB
Plaintext
66 lines
1.9 KiB
Plaintext
; ─────────────────────────────────────────────────────────────
|
|
; WASL — Supervisor config
|
|
; Manages long-running processes: Octane server + queue workers
|
|
; ─────────────────────────────────────────────────────────────
|
|
|
|
[supervisord]
|
|
nodaemon=true
|
|
logfile=/dev/stderr
|
|
logfile_maxbytes=0
|
|
pidfile=/var/run/supervisord.pid
|
|
|
|
[unix_http_server]
|
|
file=/var/run/supervisor.sock
|
|
chmod=0700
|
|
|
|
[rpcinterface:supervisor]
|
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
|
|
|
[supervisorctl]
|
|
serverurl=unix:///var/run/supervisor.sock
|
|
|
|
; ── Laravel Octane (Swoole) — main application server ──
|
|
[program:octane]
|
|
command=php artisan octane:start --server=swoole --host=0.0.0.0 --port=8000 --max-requests=10000
|
|
directory=/var/www/html
|
|
autostart=true
|
|
autorestart=true
|
|
startretries=3
|
|
user=www-data
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stopwaitsecs=15
|
|
stopsignal=TERM
|
|
killasgroup=true
|
|
stopasgroup=true
|
|
|
|
; ── Queue worker (processes async jobs: notifications, reconciliation) ──
|
|
[program:queue]
|
|
command=php artisan queue:work redis --tries=3 --backoff=10 --max-time=3600 --queue=default,transfers,notifications
|
|
directory=/var/www/html
|
|
autostart=true
|
|
autorestart=true
|
|
startretries=3
|
|
user=www-data
|
|
numprocs=2
|
|
process_name=%(program_name)s_%(process_num)02d
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stopwaitsecs=30
|
|
stopsignal=TERM
|
|
killasgroup=true
|
|
stopasgroup=true
|
|
|
|
; ── Scheduled task runner (cron-style Laravel scheduler) ──
|
|
[program:scheduler]
|
|
command=php artisan schedule:work
|
|
directory=/var/www/html
|
|
autostart=true
|
|
autorestart=true
|
|
user=www-data
|
|
redirect_stderr=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|