- こんにちは
Klein
、Web サーバーに Python モジュールを使用しています。 - 各リクエストをスレッドとして個別に実行する必要があり、結果を返す必要もあります。
- しかし、Klein は、別の要求を処理するために単一の要求が完了するまで待ちます。
- 私も
deferToThread
ツイストモジュールから使ってみました。ただし、最初のリクエストの完了後にのみリクエストを処理します。 - 同様に、メソッドも試し
@inlineCallbacks
ましたが、同じ結果が得られました。
注: このメソッドは、返すものが何もない場合に完全に機能します。しかし、私は結果を返す必要があります。
以下にサンプルコードスニペットを添付します。
import time
import klein
import requests
from twisted.internet import threads
def test():
print "started"
x = requests.get("http://google.com")
time.sleep(10)
return x.text
app = klein.Klein()
@app.route('/square/submit',methods = ['GET'])
def square_submit(request):
return threads.deferToThread(test)
app.run('localhost', 8000)