어떻게 지연을 원자로로 던져서 길 아래 어딘가에서 처리 할 수 있습니까?뒤틀린 : 지연된 '마무리'를 기다리십시오
상황
나는 로컬 호스트에서 실행되는이 개 프로그램이 있습니다.
- 뒤틀린 JSONRPC 서비스 (로컬 호스트 : 30,301)
- 뒤틀린 웹 서비스 (로컬 호스트 : 4000) 누군가가 웹 서비스에 연결하면
은, 그것은 JSONRPC 서비스에 쿼리를 보낼 필요
지연된 jsonrpc 호출의 값을 반환하는 방법을 알 수없는 것처럼 보입니다. 브라우저로 웹 서비스를 방문하면 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