zov-tech/backend-py
wasrusgen cd587f846a fix(sheets): add TTL in-memory cache to prevent Sheets API 429 quota errors
Every /api/me call was reading the entire Users sheet via get_all_values(),
exhausting the 60 reads/minute quota under any load. Added a 90-second
TTL cache keyed by sheet name:
- _cached_get_all_values(): returns cached data or refreshes on miss/expiry
- _invalidate_cache(): called after every write (append_row, append_named_row,
  update_cell_by_key) so stale data is never served after mutations
- Patched: find_row, update_cell_by_key, list_users_with_role

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 00:33:52 +03:00
..
app fix(sheets): add TTL in-memory cache to prevent Sheets API 429 quota errors 2026-05-17 00:33:52 +03:00
.dockerignore feat(infra): Python FastAPI backend + Docker compose for VPS deploy (GigaChat with Russian root CA) 2026-05-10 17:44:21 +03:00
Dockerfile backend: Playwright + Chromium for JS-rendered sites (Я.Маркет, OZON fallback) 2026-05-11 13:25:05 +03:00
requirements.txt feat: warehouse module — ОТГРУЗКИ.xlsx в дашборде менеджера 2026-05-16 07:21:23 +03:00
seed_test_clients.py fix: append_named_row uses RAW to preserve + in phones; fix seed script to use append_named_row 2026-05-16 13:09:34 +03:00