Use timemout for project auto close to avoid issue when client / connect

pull/638/head
Julien Duponchelle 8 years ago
parent 39db35c3ff
commit 8f7be87b1e
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8

@ -213,8 +213,12 @@ class ProjectHandler:
except asyncio.futures.CancelledError as e:
break
if project.auto_close and not controller.notification.project_has_listeners(project):
yield from project.close()
if project.auto_close:
# To avoid trouble with client connecting disconnecting we sleep few seconds before checking
# if someone else is not connected
yield from asyncio.sleep(5)
if not controller.notification.project_has_listeners(project):
yield from project.close()
@Route.get(
r"/projects/{project_id}/notifications/ws",
@ -247,8 +251,12 @@ class ProjectHandler:
break
ws.send_str(notification)
if project.auto_close and not controller.notification.project_has_listeners(project):
yield from project.close()
if project.auto_close:
# To avoid trouble with client connecting disconnecting we sleep few seconds before checking
# if someone else is not connected
yield from asyncio.sleep(5)
if not controller.notification.project_has_listeners(project):
yield from project.close()
return ws

Loading…
Cancel
Save