Files
DOLPHIN/prod/supervisor/dolphin-supervisord.conf

240 lines
8.7 KiB
Plaintext
Raw Normal View History

; =============================================================================
; Dolphin Service Supervisor Configuration
; Industrial-grade process management using Supervisor
; =============================================================================
[supervisord]
logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/supervisord.log
logfile_maxbytes=50MB
logfile_backups=10
loglevel=info
pidfile=/mnt/dolphinng5_predict/prod/supervisor/run/supervisord.pid
nodaemon=false
minfds=1024
minprocs=200
user=root
directory=/mnt/dolphinng5_predict/prod
environment=PYTHONPATH="/mnt/dolphinng5_predict/prod:/mnt/dolphinng5_predict/prod/clean_arch",HZ_HOST="localhost:5701"
[unix_http_server]
file=/tmp/dolphin-supervisor.sock
chmod=0777
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///tmp/dolphin-supervisor.sock
; =============================================================================
; TRADING SERVICES (Migrated from systemd)
; =============================================================================
[program:clean_arch_trader]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/clean_arch/main.py
directory=/mnt/dolphinng5_predict/prod/clean_arch
autostart=false
autorestart=true
startsecs=10
startretries=3
stopwaitsecs=30
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/clean_arch_trader.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/clean_arch_trader-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict/prod:/mnt/dolphinng5_predict/prod/clean_arch",HZ_HOST="localhost:5701"
[program:nautilus_trader]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/nautilus_event_trader.py
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=10
startretries=3
stopwaitsecs=30
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/nautilus_trader.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/nautilus_trader-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api",PYTHONUNBUFFERED="1"
rlimit_as=2GB
rlimit_nofile=1024
[program:dolphin_live]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/launch_dolphin_live.py
directory=/mnt/dolphinng5_predict/prod
autostart=false
autorestart=true
startsecs=15
startretries=3
stopwaitsecs=30
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/dolphin_live.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
redirect_stderr=true
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api",PYTHONUNBUFFERED="1"
[program:scan_bridge]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/scan_bridge_service.py
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=5
startretries=5
stopwaitsecs=10
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/scan_bridge.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/scan_bridge-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict/prod"
; =============================================================================
; DATA PIPELINE SERVICES
; =============================================================================
[program:exf_fetcher]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/exf_fetcher_flow.py --warmup 15
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=20
startretries=5
stopwaitsecs=15
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/exf.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/exf-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/external_factors:/mnt/dolphinng5_predict/prod",PREFECT_API_URL="http://localhost:4200/api"
[program:acb_processor]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/acb_processor_service.py
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=10
startretries=5
stopwaitsecs=10
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/acb_processor.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/acb_processor-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/prod"
[program:meta_health]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/meta_health_service_v3.py
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=5
startretries=5
stopwaitsecs=10
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/meta_health.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/meta_health-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/prod",DOLPHIN_FAST_RECOVERY="1"
[program:obf_universe]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/obf_universe_service.py
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=15
startretries=5
stopwaitsecs=15
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/obf_universe.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/obf_universe-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin:/mnt/dolphinng5_predict/prod"
; Nautilus TradingNode paper/live portfolio launcher (DolphinActor-based).
; autostart=false: activate deliberately after nautilus_trader is confirmed healthy.
; Requires: nautilus_trader running + HZ healthy + DOLPHIN_SAFETY posture=APEX
[program:paper_portfolio]
command=/home/dolphin/siloqy_env/bin/python /mnt/dolphinng5_predict/prod/launch_paper_portfolio.py
directory=/mnt/dolphinng5_predict/prod
autostart=false
autorestart=true
startsecs=15
startretries=3
stopwaitsecs=30
stopasgroup=true
killasgroup=true
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/paper_portfolio.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/paper_portfolio-error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=10
environment=PYTHONPATH="/mnt/dolphinng5_predict:/mnt/dolphinng5_predict/nautilus_dolphin",PREFECT_API_URL="http://localhost:4200/api"
; =============================================================================
; GROUPS
; =============================================================================
[group:dolphin]
programs=nautilus_trader,scan_bridge,clean_arch_trader,paper_portfolio
priority=999
[group:dolphin_data]
programs=exf_fetcher,acb_processor,obf_universe,meta_health,system_stats
priority=100
; =============================================================================
; CLICKHOUSE OBSERVABILITY
; =============================================================================
[program:system_stats]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/system_stats_service.py
directory=/mnt/dolphinng5_predict/prod
autostart=true
autorestart=true
startsecs=5
startretries=5
stopwaitsecs=5
stdout_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/system_stats.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=3
stderr_logfile=/mnt/dolphinng5_predict/prod/supervisor/logs/system_stats-error.log
stderr_logfile_maxbytes=10MB
environment=PYTHONPATH="/mnt/dolphinng5_predict/prod"
[eventlistener:ch_state_listener]
command=/home/dolphin/siloqy_env/bin/python3 /mnt/dolphinng5_predict/prod/supervisord_ch_listener.py
events=PROCESS_STATE,TICK_60
autostart=true
autorestart=true
stderr_logfile=/tmp/ch_listener.log
stderr_logfile_maxbytes=10MB