Прод-воркер падал на index.run_parser с 'No module named bs4': парсер импортил beautifulsoup4 на верхнем уровне, а в образе worker-indexer его нет. Но bs4 нужен только для fetch_article_details (детали статьи), а заливке (fetch+transform) — нет. - импорт bs4 сделан ленивым (внутри fetch_article_details) → заливка работает даже без bs4 в образе; - beautifulsoup4 добавлен в worker-indexer/requirements.txt (для деталей статьи). Это была вторая причина, почему CyberLeninka никогда не наполняла базу (первая — GET вместо POST, 405). Проверено вживую: fetch без bs4 в пути работает. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 lines
331 B
Plaintext
15 lines
331 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
|