J'utilise flacon et peewee. Parfois, peewee jette cette erreurPeewee serveur MySQL est parti
MySQL server has gone away (error(32, 'Broken pipe'))
connexion à la base Peewee
db = PooledMySQLDatabase(database,**{
"passwd": password, "user": user,
"max_connections":None,"stale_timeout":None,
"threadlocals" : True
})
@app.before_request
def before_request():
db.connect()
@app.teardown_request
def teardown_request(exception):
db.close()
Après erreur mysql que "serveur MySQL a disparu (erreur (32, 'Broken pipe'))", sélectionnez requêtes fonctionne sans problème , mais insérer, mettre à jour, supprimer des requêtes ne fonctionnent pas.
Lors de l'insertion, la mise à jour, supprimer des requêtes fonctionne derrière (dans mysql) mais peewee jeter ces erreurs.
(2006, "MySQL server has gone away (error(32, 'Broken pipe'))")
Avez-vous essayé avec un ' stale_timeout' set? La valeur par défaut est '300'. –
@KlausD. J'ai essayé mais j'ai toujours la même erreur. Cette situation se produit lorsque je ferme et démarre mysql pendant l'exécution de flask. Aussi quand mysql baisse et redémarre lui-même. – Alexander
C'est un problème habituel lors de l'utilisation de pools de connexions. Le moyen le plus simple de résoudre ce problème serait de redémarrer le serveur WSGI (ou de lancer Flask) avec votre serveur MySQL. De même, vous devriez redémarrer votre serveur MySQL de manière très rare, les serveurs de bases de données sont conçus pour être exécutés et non pour redémarrer. –