tmp deploy

This commit is contained in:
qananasikq
2026-04-18 01:02:50 +03:00
parent a8c5f8aa41
commit 86a5f9ce17
12 changed files with 518 additions and 53 deletions

View File

@@ -43,16 +43,37 @@ start_proxy_bridge_if_needed() {
fi
echo "[entrypoint] Using browser proxy: ${IAAI_PROXY_SERVER}"
python -m iaai_scraper.proxy_bridge &
BRIDGE_PID=$!
# Watchdog: автоматически рестартует bridge при падении.
# Нужно для долгоиграющих контейнеров (месяцы аптайма): без watchdog
# упавший bridge тихо ломает весь скрапинг и IAAI начинает банить реальный IP VPS.
(
while true; do
python -m iaai_scraper.proxy_bridge
EXIT_CODE=$?
echo "[entrypoint] proxy_bridge exited with code ${EXIT_CODE}; restarting in 3s..."
sleep 3
done
) &
BRIDGE_WATCHDOG_PID=$!
sleep 1
if ! kill -0 "${BRIDGE_PID}" 2>/dev/null; then
echo "[entrypoint] ERROR: iaai_scraper.proxy_bridge failed to start"
if ! kill -0 "${BRIDGE_WATCHDOG_PID}" 2>/dev/null; then
echo "[entrypoint] ERROR: proxy_bridge watchdog failed to start"
exit 1
fi
echo "[entrypoint] Proxy bridge started (PID ${BRIDGE_PID})"
# Проверяем что bridge действительно слушает порт.
for i in 1 2 3 4 5; do
if python -c "import socket,sys; s=socket.socket(); s.settimeout(2); sys.exit(0 if s.connect_ex(('127.0.0.1', 8899))==0 else 1)" 2>/dev/null; then
echo "[entrypoint] Proxy bridge listening on :8899 (watchdog PID ${BRIDGE_WATCHDOG_PID})"
return 0
fi
sleep 1
done
echo "[entrypoint] ERROR: proxy_bridge did not start listening on :8899"
exit 1
}
start_proxy_bridge_if_needed "$@"