[program:showprima-queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/showprima/artisan queue:work database --queue=critical,tickets,default --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/path/to/showprima/storage/logs/queue-worker.log
stopwaitsecs=3600
startsecs=0

; Priority Processing:
; - critical queue: Payment failures, chargebacks, critical alerts
; - tickets queue: Ticket generation, order confirmations
; - default queue: Welcome emails, newsletters, general notifications

; Configuration Notes:
; - numprocs=2: Run 2 worker processes for redundancy
; - max-time=3600: Workers restart after 1 hour to prevent memory leaks
; - stopwaitsecs=3600: Allow 1 hour for graceful shutdown
; - startsecs=0: Don't wait before considering process started

; Installation Instructions:
; 1. Copy this file to /etc/supervisor/conf.d/showprima-queue.conf
; 2. Update paths:
;    - /path/to/showprima -> actual project path
;    - user=www-data -> actual web server user
; 3. Reload supervisor:
;    sudo supervisorctl reread
;    sudo supervisorctl update
;    sudo supervisorctl start showprima-queue-worker:*
; 4. Check status:
;    sudo supervisorctl status showprima-queue-worker:*

; Management Commands:
; - Start all workers:   sudo supervisorctl start showprima-queue-worker:*
; - Stop all workers:    sudo supervisorctl stop showprima-queue-worker:*
; - Restart all workers: sudo supervisorctl restart showprima-queue-worker:*
; - View logs:           sudo supervisorctl tail -f showprima-queue-worker:00 stdout

; Monitoring:
; - Check queue status: php /path/to/showprima/artisan queue:monitor
; - Failed jobs: php /path/to/showprima/artisan queue:failed
; - Retry failed: php /path/to/showprima/artisan queue:retry all
