이것은 코드의 축소 된 버전입니다 .I 및 http_client.fetch를 사용하여 100 개 이상의 요청을 수행하면 응답을 임의의 순서로 받고 있습니다. 어떤 응답이 어떤 요청에 대한 것인지 아는 것이 정말 중요합니다. 나는 이것을 달성하기 위해 만드나요?
from tornado import ioloop, httpclient
def handle_request(response):
jsonobject_ticker = json.loads( response.body, object_hook= JSONObject)
currency_price=jsonobject_ticker.result.Last
print "{0:.9f}".format(currency_price)
global i
i -= 1
if i == 0:
ioloop.IOLoop.instance().stop()
def check_for_pump():
for index in range (len(shortlisted)):
market=shortlisted[index]
print market
http_client = httpclient.AsyncHTTPClient()
global i
i += 1
http_client.fetch(get_ticker_url(shortlisted[index]), handle_request, method='GET')
HTTPResponse 객체 에는 "request"속성 이 있으므로 response.request
콜백에서 액세스 할 수 있습니다 .
그러나 더 일반적으로 특정 데이터를 콜백에 전달하려면 "부분"을 사용할 수 있습니다.
from functools import partial
def handle_request(data, response):
...
data = "foo"
callback = partial(data, handle_request)
http_client.fetch(url, callback)
이 경우에는이 기술이 필요하지 않지만 Tornado의 콜백에 데이터를 전달하는 방법을 아는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다