Commit Graph

2 Commits

Author SHA1 Message Date
kennethreitz 8775346240 Add cache warming on startup for interlinear data
Enable preloading of interlinear data at application startup to eliminate
first-request delays. Configurable via PRELOAD_INTERLINEAR environment variable.

- Add preload_data() function to interlinear_loader.py with logging
- Add startup event handler in server.py to trigger preload
- Enable PRELOAD_INTERLINEAR=true in fly.toml and docker-compose.yml
- Update FLY_DEPLOYMENT.md with cache warming documentation

Performance impact:
- Startup time: ~7-10 seconds (vs ~5 seconds without preload)
- First request: <100ms (vs 2-3 seconds without preload)
- Memory usage: ~400-500MB total (139MB for interlinear data)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 13:04:44 -05:00
kennethreitz cfbfc5417c Optimize for fly.io deployment
Production-ready configuration for fly.io with enhanced resource allocation,
health checks, and error handling for the comprehensive interlinear Bible.

Changes:
- Increase memory to 2GB to handle 139MB uncompressed interlinear data
- Add concurrency limits (200 soft, 250 hard)
- Configure health checks at /health endpoint
- Enhanced .dockerignore to exclude large uncompressed files
- Production logging in interlinear_loader with error handling
- Auto-scaling configuration (stop on idle, start on request)
- Comprehensive deployment documentation

Performance optimizations:
- Compressed data: 13.5 MB in image
- Memory usage: ~400-500 MB (with 2GB allocated)
- Cold start: ~5-10 seconds (including data load)
- Warm requests: <100ms

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 12:10:55 -05:00