Windows10 Python3.5 64bit
python
1from aiohttp import web 2from threading import Thread 3import time 4 5 6def test(request): 7 return web.Response(text='Hello world.') 8 9 10def server(host, port): 11 app = web.Application() 12 app.router.add_get('/', test) 13 web.run_app(app, host=host, port=port) 14 15 16# server("127.0.0.1", 2000) 17Thread( 18 target=server, 19 args=("127.0.0.1", 2000), 20 daemon=True).start() 21 22while True: 23 time.sleep(5) 24 print("Sleeping..zzz") 25
https://github.com/aio-libs/aiohttp
上記のようなコードを用いて、サブスレッド上でWebServerを構築したいと思います。
他にも様々な常駐スレッドを予定していますのでMainThreadは使用しない事になりました。
RuntimeError: There is no current event loop in thread 'Thread-1'.
いつも通りにthreadingモジュールも用いましたが、上記のエラーを受取りました。
asyncioを初めて少ししか経っていない事もありエラーの意味を理解できず解決策がわからず困っています。
どうすればいいのでしょうか?宜しくお願いします。
追記
python
1from aiohttp import web 2import asyncio 3from threading import Thread 4import time 5 6 7def test(request): 8 return web.Response(text='Hello world.') 9 10 11def server(host, port, loop): 12 asyncio.set_event_loop(loop) 13 app = web.Application() 14 app.router.add_get('/', test) 15 web.run_app(app, host=host, port=port) 16 17 18# server("127.0.0.1", 2000) 19loop = asyncio.get_event_loop() 20Thread( 21 target=server, 22 args=("127.0.0.1", 2000, loop), 23 daemon=True).start() 24 25while True: 26 time.sleep(5) 27 print("Sleeping..zzz")
Windowsで動作する事を確認した後、Ubuntuでも動作を確認した所、RuntimeError: set_wakeup_fd only works in main thread
とエラーを吐きました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/02 23:40