Exceptions, sqlite database locked
Bonjour,
J'utilise web2py (python 2.5) pour développer une application dans laquelle il arrive que plusieurs utilisateurs essayent d'écrire dans une base de donnée sqlite au même instant, ce qui est appartement impossible avec sqlite (système de verrous).
J'aimerai donc arriver à attraper une exception que serait levée lorsque plusieurs utilisateurs tentent d'écrire la base en même temps.
Seulement je n'y arrive pas, et je ne comprend pas pourquoi.
Voila ce que j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
def MyFunc():
import MySQLdb
try:
db(db.magasin.client==session.username).update(present='oui')
except MySQLdb.OperationalError:
print "Erreur ??! veuillez attendre"
#la structure de la requête sql est particulière mais fonctionne correctement.
return dict() |
Selon moi le code devrait imprimer sur l'écran le message d'erreur, mais ce n'est pas le cas. J'ai le programme qui s'arrête avec l'info suivante :
Code:
1 2
|
OperationalError: database is locked |
Alors pourquoi je ne catch rien ?
J'ai donc essayé avec le code suivant pour essayer de voir quel type d'erreur est lancé :
Code:
1 2 3 4 5 6 7 8 9
|
def MyFunc():
try:
db(db.magasin.client==session.username).update(present='oui')
except Exception, e:
print "exception ? ", e
return dict() |
ce qui ma affiché :
Code:
1 2
|
exception ? database is locked |
Quelqu'un pourrai-t'il me donner un coups de pouce ?:ccool:
Merci :D