No description
- Python 98.6%
- Dockerfile 1.4%
Живая диагностика на сервере: scheduler застрял на #41 — mark_posted при успешной публикации упал (database is locked), это поймали с прошлым фиксом, но в ветке "уже публиковался в этом запуске, чиню статус" (published_ids-гвард) except был голый "pass" без rollback(). Соединение scheduler'а осталось в подвешенной транзакции НАВСЕГДА — и держало RESERVED-лок WAL-файла, из-за чего блокировались АБСОЛЮТНО ВСЕ остальные писатели (worker, bot, collector, ручные docker run) на любую попытку записи, 100% воспроизводимо, а не изредка от случайной коллизии. Отсюда и utечка соединений в bot.py, и всё остальное — это была дополнительная, но не единственная причина. Теперь rollback() есть во всех веточках scheduler.py, где может упасть commit. |
||
|---|---|---|
| stage1-generator | ||
| stage2-queue | ||
| stage3-worker | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||