Merge pull request #389 from chenfengyuan/fix_run_async_demo

fix run_async demo
This commit is contained in:
Raphael Deem 2017-02-07 14:58:48 -08:00 committed by GitHub
commit a19bb15070
2 changed files with 6 additions and 3 deletions

View File

@ -3,6 +3,7 @@ from sanic.response import json
from multiprocessing import Event
from signal import signal, SIGINT
import asyncio
import uvloop
app = Sanic(__name__)
@ -10,10 +11,11 @@ app = Sanic(__name__)
async def test(request):
return json({"answer": "42"})
asyncio.set_event_loop(uvloop.new_event_loop())
server = app.create_server(host="0.0.0.0", port=8001)
loop = asyncio.get_event_loop()
task = asyncio.ensure_future(server)
signal(SIGINT, lambda s, f: loop.close())
signal(SIGINT, lambda s, f: loop.stop())
try:
loop.run_forever()
except:

View File

@ -297,8 +297,9 @@ def serve(host, port, request_handler, error_handler, before_start=None,
:param protocol: Subclass of asyncio protocol class
:return: Nothing
"""
loop = async_loop.new_event_loop()
asyncio.set_event_loop(loop)
if not run_async:
loop = async_loop.new_event_loop()
asyncio.set_event_loop(loop)
if debug:
loop.set_debug(debug)