; /etc/supervisor/conf.d/gostardeh.conf ; ; One program per worker type. A worker exits on its own after QUEUE_MAX_JOBS jobs or when ; it passes QUEUE_MEMORY_LIMIT_MB; Supervisor starts a fresh process (autorestart=true). ; A crashed worker is restarted the same way. stopwaitsecs lets the current job finish. ; ; supervisorctl reread && supervisorctl update ; supervisorctl status gostardeh:* ; supervisorctl restart gostardeh:* (after every deploy) [group:gostardeh] programs=gst-updates,gst-joins,gst-payments,gst-orders,gst-campaigns,gst-withdrawals,gst-broadcast,gst-notifications,gst-statistics,gst-cleanup ; Telegram updates (commands, buttons, flows) — latency sensitive, scale numprocs with traffic [program:gst-updates] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work updates process_name=%(program_name)s_%(process_num)02d numprocs=4 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=60 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-updates.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Join Worker: chat_member updates (join / leave tracking) [program:gst-joins] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work joins process_name=%(program_name)s_%(process_num)02d numprocs=3 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=60 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-joins.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Payment Worker [program:gst-payments] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work payments process_name=%(program_name)s_%(process_num)02d numprocs=2 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=90 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-payments.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Order Worker [program:gst-orders] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work orders process_name=%(program_name)s_%(process_num)02d numprocs=2 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=60 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-orders.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Campaign Worker: settlement, expiry, link revocation [program:gst-campaigns] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work campaigns process_name=%(program_name)s_%(process_num)02d numprocs=2 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=90 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-campaigns.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Withdrawal Worker [program:gst-withdrawals] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work withdrawals process_name=%(program_name)s_%(process_num)02d numprocs=1 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=60 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-withdrawals.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Broadcast Worker — keep numprocs=1 per bot so the per-bot send rate stays predictable [program:gst-broadcast] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work broadcast process_name=%(program_name)s_%(process_num)02d numprocs=1 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=60 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-broadcast.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Notification Worker [program:gst-notifications] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work notifications process_name=%(program_name)s_%(process_num)02d numprocs=2 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=60 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-notifications.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Statistics Worker (stats snapshot, ranking, health check, exports) [program:gst-statistics] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work statistics process_name=%(program_name)s_%(process_num)02d numprocs=1 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=120 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-statistics.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5 ; Cleanup Worker [program:gst-cleanup] command=/usr/bin/php /var/www/gostardeh/bin/console queue:work cleanup process_name=%(program_name)s_%(process_num)02d numprocs=1 directory=/var/www/gostardeh user=gostardeh autostart=true autorestart=true startsecs=2 startretries=20 stopsignal=TERM stopwaitsecs=120 redirect_stderr=true stdout_logfile=/var/www/gostardeh/storage/logs/supervisor-cleanup.log stdout_logfile_maxbytes=20MB stdout_logfile_backups=5