update start sh to work with environemtns and update dockerfile to use it to start all needed services
This commit is contained in:
parent
5610f1d868
commit
7cea586f41
2 changed files with 31 additions and 33 deletions
|
|
@ -41,5 +41,6 @@ EXPOSE 8000
|
||||||
# Set the entry point (adjust to your CLI's entry point)
|
# Set the entry point (adjust to your CLI's entry point)
|
||||||
# ENTRYPOINT ["python", "/app/main.py"]
|
# ENTRYPOINT ["python", "/app/main.py"]
|
||||||
# ENTRYPOINT ["/app/runall.sh"]
|
# ENTRYPOINT ["/app/runall.sh"]
|
||||||
CMD ["/bin/bash" ,"-c" ,"alembic upgrade head && uvicorn api.app:app --host 0.0.0.0 --port 8000"]
|
# CMD ["/bin/bash" ,"-c" ,"alembic upgrade head && uvicorn api.app:app --host 0.0.0.0 --port 8000"]
|
||||||
# ENTRYPOINT ["uvicorn", "api.app:app", "--host", "0.0.0.0", "--port", "8000"]
|
# ENTRYPOINT ["uvicorn", "api.app:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||||
|
CMD ["./start.sh"]
|
||||||
|
|
|
||||||
|
|
@ -4,46 +4,43 @@
|
||||||
|
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
if ! command -v celery &> /dev/null; then
|
ENV_MODE=${ENV:-"dev"} # Defaults to "dev" if ENV_MODE is unset
|
||||||
echo "Error: celery is not installed. Please install celery and try again"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
set +e
|
echo "Checking connection to redis is successful..."
|
||||||
pkill -f celery
|
|
||||||
pkill watchmedo
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# use redis container instead to avoid overwriting prod
|
|
||||||
# if command -v kubectl &> /dev/null; then
|
|
||||||
# set +e
|
|
||||||
# pkill -f "kubectl port-forward"
|
|
||||||
# set -e
|
|
||||||
|
|
||||||
# # kubectl port-forward $(kubectl get pods -n redis -o json | jq '.items[0].metadata.name' | sed 's/"//g') --address 0.0.0.0 6379:6379 -n redis &
|
|
||||||
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# Ensure connection to broken is successful
|
|
||||||
python celery_app.py
|
python celery_app.py
|
||||||
|
|
||||||
|
case "$ENV_MODE" in
|
||||||
|
dev)
|
||||||
|
echo "🛠️ Running in DEVELOPMENT mode"
|
||||||
|
set +e
|
||||||
|
pkill -f celery
|
||||||
|
pkill watchmedo
|
||||||
|
set -e
|
||||||
|
|
||||||
watchmedo auto-restart --directory=./ --pattern='*.py' --recursive -- celery -A celery_app worker & # DEV to autoreload on changes
|
watchmedo auto-restart --directory=./ --pattern='*.py' --recursive -- celery -A celery_app worker & # DEV to autoreload on changes
|
||||||
CELERY_PID=$!
|
CELERY_PID=$!
|
||||||
|
;;
|
||||||
|
prod)
|
||||||
|
echo "🚀 Running in PRODUCTION mode"
|
||||||
|
celery -A celery_app worker &
|
||||||
|
CELERY_PID=$!
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "❌ Unknown ENV_MODE: $ENV_MODE. Defaulting to DEV."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# cleanup() {
|
|
||||||
# echo "Stopping uvicorn process (PID: $UVICORN_PID)..."
|
|
||||||
# kill "$UVICORN_PID" 2>/dev/null # Graceful shutdown (SIGTERM)
|
|
||||||
# wait "$UVICORN_PID" 2>/dev/null # Wait for process to exit
|
|
||||||
# echo "Stopping background process (PID: $CELERY_PID)..."
|
|
||||||
# kill "$CELERY_PID" 2>/dev/null # Graceful shutdown (SIGTERM)
|
|
||||||
# wait "$CELERY_PID" 2>/dev/null # Wait for process to exit
|
|
||||||
|
|
||||||
# }
|
cleanup() {
|
||||||
# trap cleanup EXIT SIGINT SIGTERM
|
echo "Stopping background process (PID: $CELERY_PID)..."
|
||||||
|
kill "$CELERY_PID" 2>/dev/null # Graceful shutdown (SIGTERM)
|
||||||
|
wait "$CELERY_PID" 2>/dev/null # Wait for process to exit
|
||||||
|
|
||||||
|
}
|
||||||
|
trap cleanup EXIT SIGINT SIGTERM
|
||||||
|
|
||||||
# celery -A celery_app worker -D # PROD
|
# celery -A celery_app worker -D # PROD
|
||||||
|
|
||||||
uvicorn api.app:app --host 0.0.0.0 --port 5001 --reload --reload-exclude "data" --log-level debug
|
uvicorn api.app:app --host 0.0.0.0 --port 5001 --reload --reload-exclude "data" --log-level debug
|
||||||
# UVICORN_PID=$!
|
# UVICORN_PID=$!
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue