Торнадо действительно не блокирует?
Торнадо рекламирует себя как «относительно простой,неблокирующая каркас веб-сервера "и был разработан для решения проблемы C10k. Однако, глядя на их оболочку базы данных, которая оборачивает MySQLdb, я наткнулся на следующий фрагмент кода:
def _execute(self, cursor, query, parameters):
try:
return cursor.execute(query, parameters)
except OperationalError:
logging.error("Error connecting to MySQL on %s", self.host)
self.close()
raise
Насколько я знаю, звонки на MySQLdb, который построен поверхlibmysqlclient
, блокируют.
Правильно ли я считаю, что длительный запрос может сделать весь сервер Tornado не отвечающим до его завершения или в коде есть магия?