Remove Google Sheets mirror entirely (#13)
Test backoffice (smb-crm) / test (push) Has been cancelled
Test backoffice (smb-crm) / test (push) Has been cancelled
Postgres is now the sole source of truth: delete sheets.py and import_from_sheets.py, strip mirror_entity/mirror_async/_mirror_worker and POST /api/sync from app.py, drop the tab/mirror keys from db.py's TABLES. Re-point n8n/renewal-reminder.json at the CRM's own HTTP API (GET /api/clients, POST /api/activity_log) instead of the Sheets nodes, and drop SHEET_ID/GOOGLE_SA_JSON from deploy env/compose and requests from requirements.txt (PyJWT stays — still used by booking_api.py). Updates docs/README/playbooks accordingly and closes the old #5 (atomic mirror) as moot. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
"""Best-effort SMTP email sending (#18).
|
||||
|
||||
Mirrors app.py's DB -> Sheets mirror pattern: a single background worker
|
||||
thread drains a queue, and a send failure is logged, never raised back to the
|
||||
caller -- booking creation must succeed even if the mail relay is down.
|
||||
A single background worker thread drains a queue, and a send failure is
|
||||
logged, never raised back to the caller -- booking creation must succeed even
|
||||
if the mail relay is down.
|
||||
"""
|
||||
import os
|
||||
import queue
|
||||
|
||||
Reference in New Issue
Block a user