Проблема: Почему я не могу звонить другим?
Цель: хотел позвонить в другие службы, даже если предыдущая все еще в процессе.
Я уже пробовал этот tornado-blocking-asynchronous-requests, но по-прежнему блокирует другой запрос
Главный обработчик
class Main(APIUserAuth):
@gen.coroutine
def post(self):
hotelId=self.get_argument('code',False)
try:
if not hotelId:
raise Error('Hotel ID is not defined')
params=escape.json_decode(self.request.body)
result=yield Hotel.pricing(hotelId,params)
self.write(result)
except Error as e:
self.write_wrong(str(e))
except Exception as e:
print(traceback.format_exc())
self.write_wrong()
finally:
self.finish()
Hotel.py
@coroutine
def pricing(hotelId,request):
params=parseParam(request)
http_client=AsyncHTTPClient()
url=URL+'/price'
request=tornado.httpclient.HTTPRequest(url=url, method='POST',headers=HEADERS, body=json.dumps(params), connect_timeout=500, request_timeout=500)
response= yield tornado.gen.Task(http_client.fetch, request)
raise Return(response.body)
Я не хочу вызывать другой запрос, пока остальные 10 запросов все еще находятся в процессе. Но почему другой все еще может обрабатывать новый запрос, пока другой находится в процессе? Является ли одновременная обработка 10 запросов слишком сложной?
Что может быть причиной этого?
yield http_client.fetch(request)
- person NicoAdrian   schedule 14.07.2019