Skip to content

Commit 4cd2934

Browse files
committed
Add finalizer
1 parent 078b6eb commit 4cd2934

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

examples/web_ws.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111

1212

1313
@asyncio.coroutine
14-
def handler(request):
14+
def wshandler(request):
1515
resp = WebSocketResponse()
1616
ok, protocol = resp.can_start(request)
1717
if not ok:
1818
with open(WS_FILE, 'rb') as fp:
1919
return Response(body=fp.read(), content_type='text/html')
2020

2121
resp.start(request)
22-
print('{}: Someone joined.'.format(os.getpid()))
22+
print('Someone joined.')
2323
for ws in request.app['sockets']:
2424
ws.send_str('Someone joined')
2525
request.app['sockets'].append(resp)
@@ -43,12 +43,16 @@ def handler(request):
4343
def init(loop):
4444
app = Application(loop=loop)
4545
app['sockets'] = []
46-
app.router.add_route('GET', '/', handler)
46+
app.router.add_route('GET', '/', wshandler)
4747

48-
srv = yield from loop.create_server(app.make_handler(), '127.0.0.1', 8080)
48+
handler = app.make_handler()
49+
srv = yield from loop.create_server(handler, '127.0.0.1', 8080)
4950
print("Server started at http://127.0.0.1:8080")
50-
return srv
51+
return srv, handler
5152

5253
loop = asyncio.get_event_loop()
53-
loop.run_until_complete(init(loop))
54-
loop.run_forever()
54+
srv, handler = loop.run_until_complete(init(loop))
55+
try:
56+
loop.run_forever()
57+
except KeyboardInterrupt:
58+
loop.run_until_complete(handler.finish_connections())

0 commit comments

Comments
 (0)