vidpro / start.sh
Ezmary's picture
Update start.sh
a53403a verified
#!/bin/sh
# یک مقدار پیش‌فرض تنظیم می‌کنیم تا اگر متغیر کلیدها وجود نداشت، برنامه کرش نکند
DEFAULT_MAX_REQUESTS=1000
MAX_REQUESTS=$DEFAULT_MAX_REQUESTS
# بررسی می‌کنیم که آیا متغیر محیطی کلیدها وجود دارد و خالی نیست
if [ -n "$ALL_GEMINI_API_KEYS" ]; then
# تعداد کلیدها را با شمردن کاماها و اضافه کردن یک واحد به دست می‌آوریم
KEY_COUNT=$(echo "$ALL_GEMINI_API_KEYS" | tr -cd ',' | wc -c)
KEY_COUNT=$((KEY_COUNT + 1))
# اگر تعداد کلیدها بیشتر از صفر بود، آن را به عنوان مقدار max-requests تنظیم می‌کنیم
if [ "$KEY_COUNT" -gt 0 ]; then
MAX_REQUESTS=$KEY_COUNT
fi
fi
# یک لاگ برای اطمینان از عملکرد صحیح در هاگینگ فیس چاپ می‌کنیم
echo "✅ Starting Gunicorn with --max-requests automatically set to ${MAX_REQUESTS}"
# با استفاده از exec، Gunicorn را با پارامتر داینامیک اجرا می‌کنیم
exec env \
GRPC_DISABLE_ALTS=true \
GRPC_VERBOSITY=ERROR \
GRPC_POLL_STRATEGY=epoll1 \
ABSL_LOG_IMPL_LEVEL=0 \
gunicorn \
--workers 1 \
--worker-class gevent \
--threads 8 \
--timeout 300 \
--max-requests "$MAX_REQUESTS" \
--max-requests-jitter 50 \
--bind 0.0.0.0:7860 \
app:app