Într-un mediu cu acces concurent (de exemplu, o aplicație web cu zeci de cereri simultane), dacă o conexiune scrie în baza de date, celelalte conexiuni care încearcă să scrie vor primi instantaneu eroarea sqlite3.OperationalError: database is locked.
Comanda PRAGMA busy_timeout = [milisecunde] instruiește SQLite să reîncerce automat scrierea în buclă cu pauze scurte timp de N milisecunde (ex. 5000 ms = 5 secunde) înainte de a arunca eroarea, eliminând 99% din problemele de concurență.
Exemplu: Setarea unui timeout de 5 secunde la inițializarea conexiunii
PRAGMA busy_timeout = 5000;
Întrebări & Exemple de Cod:
Gestiunea Blocajelor Concurente cu PRAGMA busy_timeoutAi o nelămurire despre utilizarea comenzii
Gestiunea Blocajelor Concurente cu PRAGMA busy_timeoutsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.