DRF_Template/start.sh

30 lines
1.1 KiB
Bash
Raw Normal View History

#!/bin/bash
echo "Running as: $RUN_TYPE"
cd backend/
if [ "$RUN_TYPE" = "web" ]; then
python manage.py graph_models -o ../documentation/erd/app_models.png
python manage.py spectacular --color --file schema.yml
python manage.py migrate
if [ ! -d "static" ]; then
echo "Generating static files"
python manage.py collectstatic --noinput
fi
if [ "$BACKEND_DEBUG" = 'True' ]; then
2024-08-30 21:57:49 +08:00
python manage.py runserver "0.0.0.0:8000"
else
# Feel free to replace the WSGI server here with something else
# gunicorn --workers 8 --bind 0.0.0.0:8000 config.wsgi:application # Gunicorn
python -m granian --host 0.0.0.0 --port 8000 --workers 8 --interface wsgi config.wsgi:application # Granian
fi
elif [ "$RUN_TYPE" = "worker" ]; then
celery -A config worker -l INFO -E --concurrency 1
elif [ "$RUN_TYPE" = "beat" ]; then
sleep 15
celery -A config beat -l INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler
elif [ "$RUN_TYPE" = "monitor" ]; then
celery -A config flower --port="${CELERY_FLOWER_PORT:-5555}"
else
echo "No RUN_TYPE value set. Exiting"
exit 1
fi