Read reqs in postgres should be in transactions

In order to prevent break whole program instance by one failed request
This commit is contained in:
norohind 2021-11-28 18:29:48 +03:00
parent e822cd06c9
commit fdaa579ec0
Signed by: norohind
GPG Key ID: 01C3BECC26FB59E1

View File

@ -48,16 +48,17 @@ class PostgresModel(AbstractModel):
logger.debug(f'Not cached result for {cache_key}')
with self.db.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as cursor:
cursor.execute(postgres_sql_requests.select_activity_pretty_names, {
'LB_type': utils.LeaderboardTypes(leaderboard_type.lower()).value,
'platform': utils.Platform(platform.upper()).value,
'limit': limit,
'high_timestamp': high_timestamp,
'low_timestamp': low_timestamp
})
with self.db:
with self.db.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as cursor:
cursor.execute(postgres_sql_requests.select_activity_pretty_names, {
'LB_type': utils.LeaderboardTypes(leaderboard_type.lower()).value,
'platform': utils.Platform(platform.upper()).value,
'limit': limit,
'high_timestamp': high_timestamp,
'low_timestamp': low_timestamp
})
result: list = cursor.fetchall()
result: list = cursor.fetchall()
if not cache.disabled:
cache.set(cache_key, json.dumps(result))
@ -118,9 +119,10 @@ class PostgresModel(AbstractModel):
logger.debug(f'Not cached result for {cache_key}')
with self.db.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as cursor:
cursor.execute(postgres_sql_requests.select_diff_by_action_id, {'action_id': action_id})
result: list = cursor.fetchall()
with self.db:
with self.db.cursor(cursor_factory=psycopg2.extras.RealDictCursor) as cursor:
cursor.execute(postgres_sql_requests.select_diff_by_action_id, {'action_id': action_id})
result: list = cursor.fetchall()
if not cache.disabled:
cache.set(cache_key, json.dumps(result))