Commit e096cece authored by Raphael Beer's avatar Raphael Beer

Fix: open sessions/connections on exit

parent 4d04569f
......@@ -154,6 +154,16 @@ if args.debug is not None:
ensure_dir(debug_dir)
debug_file = open(args.debug, "a")
async def close_sessions(app):
print("\nClosing %s guest sessions" % len(TwitterSession.guest_sessions))
for session in TwitterSession.guest_sessions:
await session.close()
async def close_database(app):
global db
print("Closing database connection")
db.close()
def run():
global db
db = connect(
......@@ -167,6 +177,8 @@ def run():
loop.run_until_complete(login_guests())
app = web.Application()
app.add_routes(routes)
app.on_shutdown.append(close_sessions)
app.on_cleanup.append(close_database)
web.run_app(app, host=args.host, port=args.port)
if args.daemon:
......
......@@ -35,6 +35,9 @@ class Database:
def get_result_by_screen_name(self, screen_name):
return self.results.find_one({ "profile.screen_name": screen_name }, sort=[("_id", DESCENDING)], projection={"_id": False})
def close(self):
self.client.close()
def connect(host=None, port=27017, db='tester', username=None, password=None):
if host is None:
raise ValueError('[mongoDB] Database constructor needs a `host`name or ip!')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment