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> |
||
|---|---|---|
| src/exchange_data_manager | ||
| tests | ||
| .gitignore | ||
| CLAUDE.md | ||
| Dockerfile | ||
| README.md | ||
| config.yaml | ||
| docker-compose.yml | ||
| pyproject.toml | ||
README.md
Exchange Data Manager
Efficiently retrieve and manage financial candlestick data with caching, REST API, and WebSocket support.
Installation
pip install -e .
Usage
TODO: Add usage instructions
Documentation
Full documentation is available at: https://pages.brrd.tech/rob/exchange-data-manager/
Development
# Clone the repository
git clone https://gitea.brrd.tech/rob/exchange-data-manager.git
cd exchange-data-manager
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install for development
pip install -e ".[dev]"
# Run tests
pytest
License
TODO: Add license