- 您好我正在使用
Klein
我的web服務器的Python模塊。 - 我需要分別運行每個請求作爲一個線程,還需要 返回結果。
- 但克萊因等待完成單個請求以處理 另一個請求。
- 我也嘗試從扭曲模塊使用
deferToThread
。但它也 只處理完第一個請求後的請求。 - 同樣我也試過
@inlineCallbacks
方法它也產生 相同的結果。
注意:當沒有任何東西可以返回時,這種方法可以很好地工作。 但我需要返回結果。同時處理多個請求並使用Klein模塊Python返回結果
在這裏,我附低於示例代碼段,
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)
Twisted應該能夠並行運行多個請求。起初使用有點棘手。也許你可以提供你的扭曲的代碼,讓我們看看它。否則,我會研究'multiprocessing'和/或'multithreading'模塊。我可能會使用一個隊列來處理返回值的通信。看看這個'queue'模塊。 –
@TammoHeeren感謝您的回覆。你能否提一下使用隊列模塊的參考鏈接? –