Hallo ich bin eine Flasche App mit einer PostgreSQL-Datenbank ausgeführt. Ich erhalte LockErrors, wenn mehrere Worker verwendet werden. Ich habe gelernt, dass dies, weil die Zischen Suche in der Datenbankmit BufferedWriter in der Flasche whooshalchemy
http://stackoverflow.com/questions/36632787/postgres-lockerror-how-to-investigate
Wie in diesem Link Ich habe verwenden BufferedWriter sperrt ... ich um Google, aber ich kann wirklich nicht herausfinden, wie es zu implementieren? Hier ist meine Datenbank-Setup im Hinblick auf Wusch
import sys
if sys.version_info >= (3, 0):
enable_search = False
else:
enable_search = True
import flask.ext.whooshalchemy as whooshalchemy
class User(db.Model):
__searchable__ = ['username','email','position','institute','id'] # these fields will be indexed by whoosh
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(100), index=True)
...
def __repr__(self):
return '<User %r>' % (self.username)
if enable_search:
whooshalchemy.whoosh_index(app, User)
Hilfe sehr geschätzt wird dank carl
EDIT: Wenn es keine Möglichkeit für den parallelen Zugriff in Kolben-whosshsqlalchemy gibt es keine Alternativen, die Sie vorschlagen können?
Hallo Michal danke für Ihre Antwort. In meinem Fall habe ich keine große Last auf der Datenbank, ich bekomme einfach immer einen Sperrfehler und möchte es vermeiden ... die Standardlösungen wie BufferedWriter wären völlig in Ordnung ... Ich kann einfach nicht finden ein beispiel dafür, wie man es mit flaschen-whoshalchemy verwendet – carl
heißt das flash-whooshalchemy bietet diese funktionalität nicht? – carl
Weiß nicht ... Ich hatte eine Idee, etwas wie elastische Suche zu erstellen ist für Lucene, vielleicht mit kompatiblem Interface :) –