[supervisord]
nodaemon=true
logfile=/var/log/supervisor/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/var/run/supervisord.pid
minfds=1024
minprocs=200

; ── PHP-FPM ───────────────────────────────────────────────────
[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
startretries=3
priority=10
stdout_logfile=/var/log/supervisor/php-fpm.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=/var/log/supervisor/php-fpm-error.log
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=5

; ── Laravel Queue Worker (general) ────────────────────────────
[program:queue-default]
command=php /var/www/html/artisan queue:work redis --queue=default --sleep=3 --tries=3 --max-time=3600
directory=/var/www/html
user=www-data
autostart=true
autorestart=true
startretries=3
numprocs=2
process_name=%(program_name)s_%(process_num)02d
stdout_logfile=/var/log/supervisor/queue-default.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=/var/log/supervisor/queue-default-error.log
stderr_logfile_maxbytes=10MB

; ── Laravel Queue Worker (publishing) ────────────────────────
[program:queue-publishing]
command=php /var/www/html/artisan queue:work redis --queue=publishing --sleep=3 --tries=3 --max-time=3600
directory=/var/www/html
user=www-data
autostart=true
autorestart=true
startretries=3
numprocs=3
process_name=%(program_name)s_%(process_num)02d
stdout_logfile=/var/log/supervisor/queue-publishing.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=/var/log/supervisor/queue-publishing-error.log
stderr_logfile_maxbytes=10MB

; ── Laravel Queue Worker (ai) ────────────────────────────────
[program:queue-ai]
command=php /var/www/html/artisan queue:work redis --queue=ai --sleep=3 --tries=2 --max-time=300 --timeout=120
directory=/var/www/html
user=www-data
autostart=true
autorestart=true
startretries=3
numprocs=2
process_name=%(program_name)s_%(process_num)02d
stdout_logfile=/var/log/supervisor/queue-ai.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=/var/log/supervisor/queue-ai-error.log
stderr_logfile_maxbytes=10MB

; ── Laravel Queue Worker (notifications) ─────────────────────
[program:queue-notifications]
command=php /var/www/html/artisan queue:work redis --queue=notifications --sleep=3 --tries=3 --max-time=3600
directory=/var/www/html
user=www-data
autostart=true
autorestart=true
startretries=3
numprocs=1
process_name=%(program_name)s_%(process_num)02d
stdout_logfile=/var/log/supervisor/queue-notifications.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=/var/log/supervisor/queue-notifications-error.log
stderr_logfile_maxbytes=10MB