27 lines
762 B
Bash
27 lines
762 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
echo "Starting Celery Worker..."
|
|
|
|
# Ждем PostgreSQL
|
|
echo "Waiting for PostgreSQL..."
|
|
until PGPASSWORD=$DB_PASSWORD psql -h "$DB_HOST" -U "$DB_USER" -d "$DB_NAME" -c '\q' 2>/dev/null; do
|
|
echo "PostgreSQL is unavailable - sleeping"
|
|
sleep 1
|
|
done
|
|
echo "PostgreSQL started"
|
|
|
|
# Ждем Redis (проверяем через Python, т.к. redis-cli не установлен)
|
|
echo "Waiting for Redis..."
|
|
until uv run python -c "import redis; r = redis.from_url('${CELERY_BROKER_URL}'); r.ping()" 2>/dev/null; do
|
|
echo "Redis is unavailable - sleeping"
|
|
sleep 1
|
|
done
|
|
echo "Redis started"
|
|
|
|
# Создаем директорию для логов
|
|
mkdir -p /app/logs
|
|
|
|
# Запускаем команду (celery worker или beat)
|
|
exec "$@"
|