; Notes:
; priority=1 → Lower priorities indicate programs that start first and shut down last
; killasgroup=true → send kill signal to child processes too
[program:frappe-bench-frappe-web]
command=/home/erpnext/frappe-abc/frappe-bench/env/bin/gunicorn -b 127.0.0.1:8000 -w 4 -t 120 frappe.app:application --preload
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/web.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/web.error.log
user=erpnext
directory=/home/erpnext/frappe-abc/frappe-bench/sites
[program:frappe-bench-frappe-schedule]
command=/usr/local/bin/bench schedule
priority=3
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/schedule.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/schedule.error.log
user=erpnext
directory=/home/erpnext/frappe-abc/frappe-bench
[program:frappe-bench-frappe-default-worker]
command=/usr/local/bin/bench worker --queue default
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/worker.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/worker.error.log
user=erpnext
stopwaitsecs=1560
directory=/home/erpnext/frappe-abc/frappe-bench
killasgroup=true
numprocs=1
process_name=%(program_name)s-%(process_num)d
[program:frappe-bench-frappe-short-worker]
command=/usr/local/bin/bench worker --queue short
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/worker.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/worker.error.log
user=erpnext
stopwaitsecs=360
directory=/home/erpnext/frappe-abc/frappe-bench
killasgroup=true
numprocs=1
process_name=%(program_name)s-%(process_num)d
[program:frappe-bench-frappe-long-worker]
command=/usr/local/bin/bench worker --queue long
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/worker.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/worker.error.log
user=erpnext
stopwaitsecs=1560
directory=/home/erpnext/frappe-abc/frappe-bench
killasgroup=true
numprocs=1
process_name=%(program_name)s-%(process_num)d
[program:frappe-bench-redis-cache]
command=/usr/bin/redis-server /home/erpnext/frappe-abc/frappe-bench/config/redis_cache.conf
priority=1
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/redis-cache.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/redis-cache.error.log
user=erpnext
directory=/home/erpnext/frappe-abc/frappe-bench/sites
[program:frappe-bench-redis-queue]
command=/usr/bin/redis-server /home/erpnext/frappe-abc/frappe-bench/config/redis_queue.conf
priority=1
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/redis-queue.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/redis-queue.error.log
user=erpnext
directory=/home/erpnext/frappe-abc/frappe-bench/sites
[program:frappe-bench-redis-socketio]
command=/usr/bin/redis-server /home/erpnext/frappe-abc/frappe-bench/config/redis_socketio.conf
priority=1
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/redis-socketio.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/redis-socketio.error.log
user=erpnext
directory=/home/erpnext/frappe-abc/frappe-bench/sites
[program:frappe-bench-node-socketio]
command=/usr/bin/node /home/erpnext/frappe-abc/frappe-bench/apps/frappe/socketio.js
priority=4
autostart=true
autorestart=true
stdout_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/node-socketio.log
stderr_logfile=/home/erpnext/frappe-abc/frappe-bench/logs/node-socketio.error.log
user=erpnext
directory=/home/erpnext/frappe-abc/frappe-bench
[group:frappe-bench-web]
programs=frappe-bench-frappe-web,frappe-bench-node-socketio
[group:frappe-bench-workers]
programs=frappe-bench-frappe-schedule,frappe-bench-frappe-default-worker,frappe-bench-frappe-short-worker,frappe-bench-frappe-long-worker
[group:frappe-bench-redis]
programs=frappe-bench-redis-cache,frappe-bench-redis-queue,frappe-bench-redis-socketio