exchange-data-manager/src/exchange_data_manager
rob c4bcc19241 Fix SQLite database locking under concurrent access
Add busy_timeout (5 seconds) to both async and sync database connections.
This prevents "database is locked" errors when multiple requests try to
access the database simultaneously.

Changes:
- AsyncSQLitePool: Add busy_timeout=5000 and synchronous=NORMAL pragmas
- DatabaseCache: Add WAL mode, busy_timeout, synchronous=NORMAL, and
  connection timeout for the sync database module

The busy_timeout tells SQLite to wait instead of immediately failing
when the database is locked by another connection.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-06 13:40:58 -04:00
..
api Add session-scoped connectors and request metrics tracking 2026-03-03 14:02:56 -04:00
cache Fix SQLite database locking under concurrent access 2026-03-06 13:40:58 -04:00
candles Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
exchanges Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
monitoring Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
sessions Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
utils Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
__init__.py Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
config.py Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
main.py Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00