2017-04-23 21 views
0

私はdiscord.pyボットを持っています。サーバーにGETリクエストを送信することで、ディスパッチボット内の機能を有効にできるようにしたいと考えています。2 Python 3の非同期クライアントを同時に実行する(discord.py + aiohttp.web)

このコードは他の場所で見つかりましたが、動作しません。エラーはありませんが、依然としてクライアントを順番に実行します。

def runInParallel(*fns): 
    proc = [] 
    for fn in fns: 
    p = Process(target=fn) 
    p.start() 
    proc.append(p) 
    for p in proc: 
    p.join() 

分散サーバーをシャットダウンせずにaiohttpサーバーを実行するにはどうすればよいですか。

答えて

0

私はある種の解決策を見つけた、私はつまり悪い文書化Kyoukai、非同期Webサーバを使用する必要がありました!

0

asyncioで動作するライブラリと一緒にaiohttpを実行できます。 または別のスレッドでaiohttpを開始できます。私は今silmeoutaneously確執のAPIとのインターフェースとシンプルなWebサーバーをホストすることができhttp://kyoukai.readthedocs.io/en/latest/

-

+0

よろしくお願いします。ドキュメントやコード例へのリンクを教えてください。 2つのasyncioライブラリのそれぞれを起動するコマンドがコードをブロックしているので、非同期プロセスの開始は私にとってはうまくいきませんでした。 –

+0

個別のスレッドでaiohttpを実行する方法に関する具体的なドキュメントはありませんが、別のスレッドでasyncioイベントループを実行する方法を検索しようとする可能性があります。 ループ= asyncio.new_event_loop() asyncio.set_event_loop(ループ) ウェブ= aiohttp.web.Application() aiohttp.web:一般的に は、コードがこの」 デフstart_web()のようなものに見えるかもしれません。 run_app(app、loop = lop) threading.Thread(start_web).run –