From a5f1945915c5cac2bc1cf5d7ee8ae888db202ca8 Mon Sep 17 00:00:00 2001 From: Bruno Wagner Date: Wed, 31 Aug 2016 15:27:20 -0300 Subject: Reading interstitial on class init The interstitial was being read at every login request, that was a blocking read on the main loop for every user. That file was also being opened and not closed at every request, that would aggravate the 'too many open files' problem --- service/pixelated/resources/login_resource.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'service/pixelated/resources/login_resource.py') diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index ab91176a..1e7c26a5 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -102,6 +102,8 @@ class LoginResource(BaseResource): self._portal = portal self._disclaimer_banner = disclaimer_banner self.putChild('startup-assets', File(self._startup_folder)) + with open(os.path.join(self._startup_folder, 'Interstitial.html')) as f: + self.interstitial = f.read() def set_portal(self, portal): self._portal = portal @@ -129,7 +131,7 @@ class LoginResource(BaseResource): def render_response(leap_session): request.setResponseCode(OK) - request.write(open(os.path.join(self._startup_folder, 'Interstitial.html')).read()) + request.write(self.interstitial) request.finish() self._setup_user_services(leap_session, request) -- cgit v1.2.3