rates/backend
jtricerolph 312a14b80f Add live progress tracking to scrape history
Backend: atomic += increments to hotels_found, rates_scraped,
dates_completed, dates_failed after each date in both worker types
(search-results and hotel-page). Safe for concurrent workers because
PostgreSQL evaluates x = x + delta atomically per statement.
If the container is killed mid-run, the counts already reflect what
was done rather than zeroing out.

Frontend: new Progress column showing X/Y (NN%) of dates completed;
highlighted in gold while the batch is running. scrape-history query
auto-refetches every 5s whenever a running entry is present.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-15 09:09:46 +00:00
..
api Use text-search approach for rate conditions (breakfast/cancel/payment) 2026-07-14 18:10:00 +00:00
jobs Fix parity check: always compare lead-in rate + auto-resolve past alerts 2026-07-15 08:59:14 +00:00
services Add live progress tracking to scrape history 2026-07-15 09:09:46 +00:00
auth.py
database.py
Dockerfile Revert Firefox: root cause was broken DataImpulse nodes not fingerprinting 2026-07-10 09:54:50 +00:00
main.py Add Power BI reporting endpoints — flat tabular data via API key auth 2026-07-14 17:27:50 +00:00
migrate_direct_data.py
requirements.txt
scheduler.py Scraper: force-reset endpoint + watchdog to prevent stuck lock 2026-07-09 16:56:35 +00:00
schema.sql Use text-search approach for rate conditions (breakfast/cancel/payment) 2026-07-14 18:10:00 +00:00