forecasting/backend/services
jtricerolph 455396c965 Fix cascading InFailedSQLTransactionError in covers forecast
When forecast_rooms_for_date throws inside covers_model, asyncpg aborts the
whole transaction. The exception was being caught with a warning but no rollback,
so every subsequent query in the same request failed. Added db.rollback() in
all three exception handlers (breakfast pickupv2, dinner pickupv2, per-day loop)
and moved public.py's rollback into a finally block so it always fires even
when covers_model returns normally with a corrupted transaction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 16:50:09 +00:00
..
forecasting Fix cascading InFailedSQLTransactionError in covers forecast 2026-07-21 16:50:09 +00:00
scraper_backends Forecasting app: hybrid port to HNF stack 2026-07-04 18:49:34 +00:00
__init__.py Forecasting app: hybrid port to HNF stack 2026-07-04 18:49:34 +00:00
backup_service.py Forecasting app: hybrid port to HNF stack 2026-07-04 18:49:34 +00:00
booking_scraper.py Forecasting app: hybrid port to HNF stack 2026-07-04 18:49:34 +00:00
central_settings.py Move Resos API key to central Settings service; add sidebar scrollbar styling 2026-07-13 14:35:35 +00:00
newbook_client.py NewBook credentials from central Settings service 2026-07-04 19:36:41 +00:00
newbook_rates_client.py NewBook credentials from central Settings service 2026-07-04 19:36:41 +00:00
reconciliation_service.py Forecasting app: hybrid port to HNF stack 2026-07-04 18:49:34 +00:00
resos_client.py Move Resos API key to central Settings service; add sidebar scrollbar styling 2026-07-13 14:35:35 +00:00