Implement job queue for asynchronous NLP #6
@@ -27,19 +27,21 @@ class PostgresConnector:
|
|||||||
self.connection.autocommit = False
|
self.connection.autocommit = False
|
||||||
|
|
||||||
def execute(self, query, params=None, fetch=False) -> list:
|
def execute(self, query, params=None, fetch=False) -> list:
|
||||||
|
try:
|
||||||
with self.connection.cursor(cursor_factory=RealDictCursor) as cursor:
|
with self.connection.cursor(cursor_factory=RealDictCursor) as cursor:
|
||||||
cursor.execute(query, params)
|
cursor.execute(query, params)
|
||||||
if fetch:
|
result = cursor.fetchall() if fetch else None
|
||||||
return cursor.fetchall()
|
|
||||||
self.connection.commit()
|
self.connection.commit()
|
||||||
|
return result
|
||||||
|
except Exception:
|
||||||
|
self.connection.rollback()
|
||||||
|
raise
|
||||||
|
|
||||||
def execute_batch(self, query, values):
|
def execute_batch(self, query, values):
|
||||||
with self.connection.cursor(cursor_factory=RealDictCursor) as cursor:
|
with self.connection.cursor(cursor_factory=RealDictCursor) as cursor:
|
||||||
execute_batch(cursor, query, values)
|
execute_batch(cursor, query, values)
|
||||||
self.connection.commit()
|
self.connection.commit()
|
||||||
|
|
||||||
|
|
||||||
## User Management Methods
|
|
||||||
def close(self):
|
def close(self):
|
||||||
if self.connection:
|
if self.connection:
|
||||||
self.connection.close()
|
self.connection.close()
|
||||||
Reference in New Issue
Block a user