4
我怎樣才能'推遲'進入反應堆,所以它得到處理的道路上的某個地方?扭曲:等待推遲到'完成'
形勢
我有2個項目在本地主機上運行。
- 一個扭曲jsonrpc服務(本地主機:30301)
- 一個扭曲的web服務(本地主機:4000)
當有人連接到Web服務,它需要將查詢發送到jsonrpc服務,等待它返回結果,然後在用戶的Web瀏覽器中顯示結果(返回jsonrpc調用的值)。
我似乎無法弄清楚如何返回延遲的jsonrpc調用的值。當我使用瀏覽器訪問web服務時,我得到一個HTML 500錯誤代碼(沒有返回任何字節),並且值:<推遲到0x3577b48>。
它返回延遲對象而不是回調的實際值。
四處尋找了幾個小時,並詢問之前嘗試了很多不同的變化。
from txjsonrpc.web.jsonrpc import Proxy
from twisted.web import resource
from twisted.web.server import Site
from twisted.internet import reactor
class Rpc():
def __init__(self, child):
self._proxy = Proxy('http://127.0.0.1:30301/%s' % child)
def execute(self, function):
return self._proxy.callRemote(function)
class Server(resource.Resource):
isLeaf = True
def render_GET(self, request):
rpc = Rpc('test').execute('test')
def test(result):
return '<h1>%s</h1>' % result
rpc.addCallback(test)
return rpc
site = Site(Server())
reactor.listenTCP(4000, site)
print 'Running'
reactor.run()
Klein看起來不錯!感謝您的描述性答案。 – cpb2