#!/usr/bin/env bash
# exit on error
set -o errexit

echo "Collecting static files"
uv run --no-dev manage.py collectstatic --no-input

echo "Starting gunicorn to run studio_api"
LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libjemalloc.so.2 \
uv run --no-dev ddtrace-run gunicorn studio_api.asgi --bind 0.0.0.0:8005 --log-level=info \
    --config gunicorn_config.py \
    --reuse-port \
    --worker-class studio_api.uvicorn_worker.UvicornWorker \
    --name gunicorn-studio-api \
    --statsd-host datadog-agent.suno-studio-api.local:8125 \
    --statsd-prefix studio_api \
    --dogstatsd-tags "env:${DD_ENV:-}" \
    --error-logfile=- --access-logfile=- -w 10 \
    --keep-alive 10 \
    --access-logformat '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" %({x-forwarded-for}i)s [Request-ID: %({REQUEST_ID}e)s]'
