[program:teleman-websocket]
process_name=%(program_name)s
command=php /path/to/your/project/artisan websocket:start --host=0.0.0.0 --port=8090
directory=/path/to/your/project
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/path/to/your/project/storage/logs/websocket.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=3
stopwaitsecs=60
stopsignal=QUIT

[program:teleman-reverb]
process_name=%(program_name)s
command=php /path/to/your/project/artisan reverb:start
directory=/path/to/your/project
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/path/to/your/project/storage/logs/reverb.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=3
stopwaitsecs=60

[program:teleman-queue-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/your/project/artisan queue:work database --sleep=3 --tries=3 --max-time=3600
directory=/path/to/your/project
autostart=true
autorestart=true
numprocs=2
user=www-data
redirect_stderr=true
stdout_logfile=/path/to/your/project/storage/logs/queue-worker.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=3
stopwaitsecs=60

[program:teleman-schedule-worker]
process_name=%(program_name)s
command=/bin/bash -c "while [ true ]; do (php /path/to/your/project/artisan schedule:run --verbose --no-interaction &); sleep 60; done"
directory=/path/to/your/project
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/path/to/your/project/storage/logs/schedule-worker.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=3

[group:teleman]
programs=teleman-websocket,teleman-reverb,teleman-queue-worker,teleman-schedule-worker
priority=999
