что делает @tornado.web.asynchronous злого декоратора?

  1. , Если код не использовал этого декоратора, он не блокирует?
  2. , Почему это имя асинхронное, это означает, добавляют, что декоратор позволил асинхронному коду?
  3. , Почему @tornado.gen всегда используют с @tornado.web.asynchronous вместе?
17
nl ja de
обысканный, но много различных ответов, полностью перепутанных, какой правилен
добавлено автор linbo, источник
это похоже на список замечательных вещей искать на Google.
добавлено автор Inbar Rose, источник

3 ответы

@tornado.web.asynchronous prevents the the RequestHandler from automatically calling self.finish(). That's it; it just means Tornado will keep the connection open until you manually call self.finish().

  1. Кодекс, не используя этого декоратора может заблокировать, или нет. Используя декоратора не изменяет это ни в каком случае.

  2. Как @Steve Пик сказал, вы используете декоратора для асинхронных запросов, например, поиска базы данных.

  3. Обновленный для Торнадо 3.1 +: При использовании @gen.coroutine , вы не должны использовать @asynchronous также. Более старое @gen.engine интерфейс все еще требует @asynchronous , я верю.

20
добавлено
Это было к обзору. Зафиксированный теперь, Спасибо!
добавлено автор Cole Maclean, источник
Связь с докторами торнадо разорвана. I' m предполагающий it' s что-то подобное tornadoweb.org/en/stable/gen.html?
добавлено автор Cuadue, источник
Кажется, что после вашего ПОЛУЧАТЬ/ОТПРАВЛЯТЬ закончен (сопрограмма закончена), запрос автоматически закончен когда использование @tornado.gen.coroutine как декоратор. используя асинхронный, необходимо назвать self.finish ()
добавлено автор cfy, источник
  1. Answered here: asynchronous vs non-blocking

  2. Think of it like this. When you need to make a request to say a database or another url to retrieve data you do not want to block your tornado IO. So the @tornado.web.asynchronous will allow the IO to handle other requests while it waits for the content to load (ex. database or url).

  3. They are simular. You most likely will use @tornado.web.asynchronous.

5
добавлено
"читайте более здесь", неработающая ссылка
добавлено автор Matthew James Davis, источник

@tornado.web.asynchronous is essentially a just a marker you put on a handler method like get() or post() that tells the framework that it shouldn't call finish() automatically when the method returns, because it contains code that is going to set up finish() to be called at a later time.

0
добавлено
Python
Python
7 654 участник(ов)

Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/577926

Python beginners
Python beginners
4 449 участник(ов)

Вопросы про Python для чайников. Cпам и троллинг неприемлем. Не злоупотребляйте стикерами. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Статистика тут: https://grstats.me/chat/x4qym2k5uvfkr3al6at7

pro.python
pro.python
1 090 участник(ов)

Сообщество разработчиков под Python Создатель: @rodgelius

Rude Python
Rude Python
971 участник(ов)

Python без „девочек”, здесь матерятся и унижают Django. Not gay friendly. Правила: t.me/rudepython/114107 @rudepython | t.me/rudepython

rupython
rupython
509 участник(ов)

Группа создана с целью оперативного получения ответов на возникающие вопросы по разработке на яп python, смежные темы, а также человеческого общения. Приветствую!

Python-programming
Python-programming
266 участник(ов)

Чат группы вконтакте https://vk.com/python_community