diff options
| author | Vosjedev <vosje@vosjedev.net> | 2026-01-25 17:05:35 +0100 |
|---|---|---|
| committer | Vosjedev <vosje@vosjedev.net> | 2026-01-25 17:05:35 +0100 |
| commit | 78cf00a53d72f8e5d41e29392b8bd5dc9825f05a (patch) | |
| tree | 2e434b366a74f0d0dd1a1e44550602b82fb56db0 | |
| parent | 3992184e9d5c98769be3493ff06471ef4e8d0573 (diff) | |
| download | discord_image_bridge-78cf00a53d72f8e5d41e29392b8bd5dc9825f05a.tar.gz discord_image_bridge-78cf00a53d72f8e5d41e29392b8bd5dc9825f05a.tar.bz2 discord_image_bridge-78cf00a53d72f8e5d41e29392b8bd5dc9825f05a.tar.xz | |
Get rid of database connector, it's unused
Signed-off-by: Vosjedev <vosje@vosjedev.net>
| -rw-r--r-- | src/discord_image_bridge/dbpool.py | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/discord_image_bridge/dbpool.py b/src/discord_image_bridge/dbpool.py deleted file mode 100644 index a3abbf5..0000000 --- a/src/discord_image_bridge/dbpool.py +++ /dev/null @@ -1,90 +0,0 @@ - -import os -from time import sleep -from threading import Event - -import mariadb - -import cherrypy -from cherrypy.process import plugins - -if not mariadb.threadsafety: - print("Mariadb connector not threadsafe. Failing.") - exit(1) - -class DBPoolManager(plugins.SimplePlugin): - def __init__(self, bus): - plugins.SimplePlugin.__init__(self, bus) - self.pool:mariadb.ConnectionPool=None - self.poolStartedEvent=Event() - - def start(self): - # get amount of concurrent connections - conns=os.getenv("DB_CONNECTIONS",4) - self.maxconns=conns - if not type(conns)==int and not conns.isdigit(): - self._log("DB_CONNECTIONS does not have a valid value:",conns,", using 4 instead.") - conns=4 - conns=int(conns) - - # get host/port from MYSQL_HOST - HOST=os.getenv("MYSQL_HOST","database") - if ":" in HOST: - HOST,PORT=HOST.split(":",2) - else: - PORT=3306 - - self._log(f"Connecting to database at {HOST}:{PORT}") - - # fill connection pool - attempts=0 - while True: - try: - self.pool=mariadb.ConnectionPool( - pool_name="main", pool_size=conns, - user=os.getenv("MYSQL_USER","root"), - password=os.getenv("MYSQL_PASSWORD"), - host=HOST, - port=PORT, - database=os.getenv("MYSQL_DATABASE","slbot") - ) - self._log("Database connection pool set up in %d attempts"%attempts) - break - - except mariadb.Error as e: - self._log(f"Error connecting to database: {e}") - attempts+=1 - if attempts>=5: - self._log("ERROR: Limit for connecting to database reached, stopping cherrypy!") - cherrypy.engine.exit() - return - - self._log("Attempt %d to connect to database failed (see above error), retrying in 10 seconds..."%attempts) - sleep(10) - - cherrypy.engine.publish("db-started") - self.poolStartedEvent.set() - - def stop(self): - if not self.pool: - self._log("Nothing to stop.") - return - self.pool.close() - self._log("Stopped database pool.") - - def _log(self, *msg): - """ - Just a simple wrapper around cherrypy.log adding a context - """ - cherrypy.log( - context="DBCONN", - msg=" ".join(( str(i) for i in msg )), - ) - - def get_connection(self): - if self.pool==None: - self.poolStartedEvent.wait(cherrypy) - - conn=self.pool.get_connection() - conn.rollback() # reset any previous actions and refresh - return conn |
