[Bug] get_nf_db() — fuite de connexions SQLite en contexte hors-request #25
Labels
No labels
P0-critical
P1-high
P2-medium
P3-low
UX
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
performance
question
security
tech-debt
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
SlopVibe-org/nutri-food#25
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problème
get_nf_db()dansextensions.pycrée une nouvelle connexion SQLite à chaque appel sans utiliser le contexte de requête Flask (g). Contrairement àget_db()qui stocke proprement la connexion dansg.Dans
utils/foods_helpers.py:_save_season_and_deals, la fonction appelleget_nf_db()puisdb.close()manuellement. Si une exception se produit avantdb.close(), la connexion fuit.En contexte hors-request (ex:
load_foods()appelé depuis le thread de background deals), il n'y a pas de teardown Flask — les connexions ne sont jamais fermées.Fix
Option A — Stocker dans
gcommeget_db():Option B — Context manager systématique :
Fichiers affectés
backend/extensions.py:get_nf_db()backend/utils/foods_helpers.py—_save_season_and_deals,load_foodsbackend/blueprints/foods.py— plusieurs routesSévérité
🔴 Critical — fuite de ressources serveur.