Yuvipanda has submitted this change and it was merged.

Change subject: Open a new MySQL connection for each registration action
......................................................................


Open a new MySQL connection for each registration action

Since otherwise it seems that the connection 'dies' after a while.

Change-Id: I1e0eefc90d2e818ef5dc22f2a6f4e8e03d05e35a
---
M src/registrar.py
M src/storage.py
2 files changed, 8 insertions(+), 5 deletions(-)

Approvals:
  Yuvipanda: Verified; Looks good to me, approved



diff --git a/src/registrar.py b/src/registrar.py
index 71a1261..bbfa3fa 100755
--- a/src/registrar.py
+++ b/src/registrar.py
@@ -35,13 +35,13 @@
 red = redis.StrictRedis(host=REDIS_HOST, db=REDIS_DB)
 logging.info('Redis connection to %s succeded', REDIS_HOST)
 
-logging.info('Attempting to connect to MySql on %s', MYSQL_HOST)
-db = storage.DB(MYSQL_HOST, MYSQL_DB)
-logging.info('MySql connection to %s suceceded', MYSQL_HOST)
-
 class Service(object):
     def __init__(self, service_name):
         self.service = SERVICES[service_name]
+        logging.info('Attempting to connect to MySql on %s', MYSQL_HOST)
+        self.db = storage.DB(MYSQL_HOST, MYSQL_DB)
+        logging.info('MySql connection to %s suceceded', MYSQL_HOST)
+
 
     def _make_key(self, *key_parts):
         return self.service['redis_prefix'] + "_" + '.'.join(key_parts)
@@ -50,7 +50,7 @@
         key = generate_random_string(32)
         clients_key = self._make_key(self.service['clients_key'])
         red.pipeline().sadd(clients_key, key).save().execute()
-        db.insert(key, msg['service'], msg['description'], msg['createdby'])
+        self.db.insert(key, msg['service'], msg['description'], 
msg['createdby'])
         logging.info('Added key %s' % key)
         return "Created key: %s and started subscription" % key
 
diff --git a/src/storage.py b/src/storage.py
index a11f862..b265305 100644
--- a/src/storage.py
+++ b/src/storage.py
@@ -10,3 +10,6 @@
         cur = self.conn.cursor()
         cur.execute(INSERT_SQL, (queue_key, service, description, createdby))
         self.conn.commit()
+
+    def __del__(self):
+        self.conn.close()

-- 
To view, visit https://gerrit.wikimedia.org/r/78493
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I1e0eefc90d2e818ef5dc22f2a6f4e8e03d05e35a
Gerrit-PatchSet: 1
Gerrit-Project: labs/tools/gerrit-to-redis
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
Gerrit-Reviewer: Yuvipanda <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to