У меня есть приложение торнадо:
if __name__ == "__main__":
app = make_app()
app.listen(8090)
tornado.ioloop.IOLoop.current().start()
Как я могу одновременно выполнять длительную задачу?
В частности, у меня есть redis pubsub , который будет уведомить мое приложение торнадо об обновленных токенах авторизации.
Я пробовал это:
tornado.ioloop.IOLoop.current().run_in_executor(None, redis_pubsub.subscribe_to_valid_tokens)
Так как я никогда не жду будущего, похоже, функция не запускается, поэтому я немного застрял в «правильном» способе сделать это.
- Мне интересно, следует ли мне делать это с отдельным потоком python (или, может быть, использовать библиотеку многопроцессорной обработки с очередью?
- Можно ли лучше использовать / структуру async / await?