# Supervisor configuration for AiBiMagics E-commerce Platform
# Place this file in /etc/supervisor/conf.d/aibimagics.conf
# Run: sudo supervisorctl reread && sudo supervisorctl update

[group:aibimagics]
programs=gunicorn,celery_worker,celery_beat

# Gunicorn WSGI Server
[program:aibimagics-gunicorn]
command=/var/www/aibimagics/venv/bin/gunicorn aibimagics.wsgi:application -c /var/www/aibimagics/deployment/gunicorn_config.py
directory=/var/www/aibimagics
user=www-data
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/www/aibimagics/logs/gunicorn-supervisor.log
stderr_logfile=/var/www/aibimagics/logs/gunicorn-supervisor-error.log
environment=PATH="/var/www/aibimagics/venv/bin",DJANGO_SETTINGS_MODULE="aibimagics.settings"

# Celery Worker
[program:aibimagics-celery]
command=/var/www/aibimagics/venv/bin/celery -A aibimagics worker -l info --concurrency=4
directory=/var/www/aibimagics
user=www-data
numprocs=1
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
stopasgroup=true
killasgroup=true
redirect_stderr=true
stdout_logfile=/var/www/aibimagics/logs/celery-worker.log
stderr_logfile=/var/www/aibimagics/logs/celery-worker-error.log
environment=PATH="/var/www/aibimagics/venv/bin",DJANGO_SETTINGS_MODULE="aibimagics.settings"

# Celery Beat (Scheduler)
[program:aibimagics-celery-beat]
command=/var/www/aibimagics/venv/bin/celery -A aibimagics beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler
directory=/var/www/aibimagics
user=www-data
numprocs=1
autostart=true
autorestart=true
startsecs=10
stopasgroup=true
killasgroup=true
redirect_stderr=true
stdout_logfile=/var/www/aibimagics/logs/celery-beat.log
stderr_logfile=/var/www/aibimagics/logs/celery-beat-error.log
environment=PATH="/var/www/aibimagics/venv/bin",DJANGO_SETTINGS_MODULE="aibimagics.settings"
