Skip to content

Commit 3b6a433

Browse files
authored
Close not used mysql connection (bakwc#47)
1 parent b2e1143 commit 3b6a433

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

mysql_ch_replicator/db_optimizer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def optimize_table(self, db_name, table_name):
7979
def optimize_database(self, db_name):
8080
self.mysql_api.set_database(db_name)
8181
tables = self.mysql_api.get_tables()
82+
self.mysql_api.close()
8283
tables = [table for table in tables if self.config.is_table_matches(table)]
8384

8485
self.clickhouse_api.execute_command(f'USE {db_name}')
@@ -97,6 +98,7 @@ def run(self):
9798
try:
9899
while not killer.kill_now:
99100
db_to_optimize = self.select_db_to_optimize()
101+
self.mysql_api.close()
100102
if db_to_optimize is None:
101103
time.sleep(min(120, self.config.optimize_interval))
102104
continue

mysql_ch_replicator/mysql_api.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def __init__(self, database: str, mysql_settings: MysqlSettings):
1616

1717
def close(self):
1818
self.db.close()
19+
self.last_connect_time = 0
1920

2021
def reconnect_if_required(self, force=False):
2122
curr_time = time.time()
@@ -56,6 +57,7 @@ def execute(self, command, commit=False, args=None):
5657
self.db.commit()
5758

5859
def set_database(self, database):
60+
self.reconnect_if_required()
5961
self.database = database
6062
self.cursor = self.db.cursor()
6163
self.cursor.execute(f'USE {self.database}')

0 commit comments

Comments
 (0)