Beim Cold-Start eines Containers mit persistentem Volume (DB ist nicht leer) liefen die gunicorn-Worker parallel in init_db() und beide versuchten CREATE TABLE. Einer crashed mit 'table genres already exists', der andere startete. Symmetrisch zum seed-Lock: init_db() jetzt auch in FileLock gewrapped. Zusaetzlich *.init.lock in .gitignore. Verifiziert mit 2 Workern + bestehender DB: beide Container starten sauber, kein Crash, 8 items erhalten.
This commit is contained in:
@@ -40,6 +40,7 @@ logs/
|
||||
|
||||
# File-Lock-Artefakte (Race-Condition-Schutz)
|
||||
*.seed.lock
|
||||
*.init.lock
|
||||
|
||||
# dist/ ist ein lokales Build-Ausgabeverzeichnis. Docker-Images werden
|
||||
# in die Gitea Container Registry gepusht (bin/build-and-push.sh), nicht
|
||||
|
||||
Reference in New Issue
Block a user