mirror of
https://github.com/kennethreitz/photos.kennethreitz.org.git
synced 2026-06-21 15:10:56 +00:00
08247c2b1d
Wedges resumed despite the April 16 DB-timeout fix, and this time with zero ESTABLISHED connections to Postgres — so not a DB deadlock. Most suspicious piece is DbRetryMiddleware itself: its async path awaits sync_to_async(...) inside an exception handler, a known-tricky pattern on the asgiref thread pool. Django already handles stale-connection recovery via conn_health_checks=True plus the psycopg connect_timeout/ statement_timeout added earlier, so the retry layer isn't load-bearing. Also: - RequestLoggingMiddleware is now async-capable, so the full chain stays async for async views instead of hopping through the thread pool on every request. - Bump django-bolt 0.7.4 → 0.7.5 for any upstream fixes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
25 lines
580 B
TOML
25 lines
580 B
TOML
[project]
|
|
name = "exiftree"
|
|
version = "0.1.0"
|
|
description = "Browse photography through the gear that made it."
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"boto3>=1.42.85",
|
|
"celery>=5.6.3",
|
|
"dj-database-url>=3.1.2",
|
|
"django>=6.0.4",
|
|
"django-bolt>=0.7.5",
|
|
"django-storages>=1.14.6",
|
|
"exifread>=3.5.1",
|
|
"httpx>=0.28.1",
|
|
"imagehash>=4.3.2",
|
|
"openai>=2.30.0",
|
|
"pillow>=12.2.0",
|
|
"psycopg[binary]>=3.3.3",
|
|
"python-dotenv>=1.2.2",
|
|
"redis>=7.4.0",
|
|
"requests>=2.33.1",
|
|
"reverse-geocoder>=1.5.1",
|
|
"sqlalchemy>=2.0.49",
|
|
]
|