Changeset View
Changeset View
Standalone View
Standalone View
swh/vault/backend.py
Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | class VaultBackend: | ||||
def reconnect(self): | def reconnect(self): | ||||
if not self.db or self.db.closed: | if not self.db or self.db.closed: | ||||
self.db = psycopg2.connect( | self.db = psycopg2.connect( | ||||
dsn=self.config['vault_db'], | dsn=self.config['vault_db'], | ||||
cursor_factory=psycopg2.extras.RealDictCursor, | cursor_factory=psycopg2.extras.RealDictCursor, | ||||
) | ) | ||||
def close(self): | |||||
self.db.close() | |||||
def cursor(self): | def cursor(self): | ||||
"""Return a fresh cursor on the database, with auto-reconnection in | """Return a fresh cursor on the database, with auto-reconnection in | ||||
case of failure""" | case of failure""" | ||||
cur = None | cur = None | ||||
# Get a fresh cursor and reconnect at most three times | # Get a fresh cursor and reconnect at most three times | ||||
tries = 0 | tries = 0 | ||||
while True: | while True: | ||||
▲ Show 20 Lines • Show All 153 Lines • Show Last 20 Lines |