I have this part of code:
como_url = "".join(['http://', options.como_address, ':', options.como_port,
'/ztc_config?netid=0&opcode_group=0&opcode=0&start=-20s&end=-1s'])
http_client = AsyncHTTPClient()
response = yield tornado.gen.Task(http_client.fetch, como_url)
where I do an http request. I would add a connection timeout, to be sure that the previous code is been executed, so I can find my response.
How can I add the timeout? I have to add it into the tornado.gen.Task call? I don't know how to do.
Use the
HTTPRequest
class to add a timeout to the request, instead of just passing the url tofetch
. Try:See http://www.tornadoweb.org/en/branch2.4/httpclient.html#tornado.httpclient.HTTPRequest
I have also encountered this problem, sometimes timeout doesn't work. Reason is
SimpleAsyncHTTPClient.max_clients
reach max value.In
SimpleAsyncHTTPClient.fetch_impl
, if number ofself.active
greater than number ofmax_clients
thentimeout_handle
be assigned none.So you add increase tornado instance or
max_clients
, can solve it