Добрый день.

Есть задача по get запросу отдавать данные из БД. Но если в базе данных нет нужного значения, то отдать ответ self.write'у, пользователь получит загруженную страницу, а в это время запустить в фоне парсер, который достанет нужные значения и запишет их в БД. И при повторном запросе ответом уже будут записанные данные.

Мне смотреть в сторону Асинхронных запросов? Типа:

from tornado.httpclient import AsyncHTTPClient
def asynchronous_fetch(url, callback):
    http_client = AsyncHTTPClient()
    def handle_response(response):
        callback(response.body)
    http_client.fetch(url, callback=handle_response)


Или все же, тут надо потоки подключать?