Заливка встала после двух порций: прогоны стали заканчиваться за две минуты с нулём документов. Выглядело как поломка сети, и на ложные следы ушло время — MTU в норме (1472 байта проходят), IPv6 ни при чём, Cloudflare из того же контейнера качается на 2.2 МБ/с, ключ и квота целы (с домашней машины тот же запрос отвечает за 6с, лимит нетронут). Разница оказалась в адресе. С прода: напрямую — код 000, обрыв на 25с (соединение есть, тело не приходит) через sing-box — код 200 за 1.7с, 207 КБ Анонимные короткие запросы проходят и напрямую — поэтому блокировка и маскировалась под сетевой сбой. CORE ведёт себя как OpenRouter, ради которого singbox-proxy и заводили, поэтому решение то же: httpx получает proxy из CORE_PROXY_URL (умолчание — socks5://singbox-proxy:1080, пусто = напрямую для локальных прогонов). В образ индексатора добавлен socksio: без него httpx не умеет SOCKS5. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
16 lines
464 B
Plaintext
16 lines
464 B
Plaintext
celery==5.4.0
|
|
redis==5.0.4
|
|
sqlalchemy==2.0.30
|
|
psycopg2-binary==2.9.9
|
|
elasticsearch==8.13.0
|
|
minio==7.2.7
|
|
PyMuPDF==1.24.0
|
|
python-docx==1.1.0
|
|
datasketch==1.6.5
|
|
xxhash==3.4.1
|
|
langdetect==1.0.9
|
|
beautifulsoup4==4.12.3 # парсер CyberLeninka: детали статьи (fetch_article_details)
|
|
pydantic-settings==2.2.1
|
|
httpx==0.27.0
|
|
socksio==1.0.0 # SOCKS5-прокси для httpx (CORE блокирует запросы из РФ, см. scripts/parsers/core.py)
|