Статьи с тегом async
Tornado i18n and l10n
Статья о том, что такое i18n и i10n и как это реализовать в приложении на tornado. Получилось довольно много букв, но хотелось рассказать доступно обо всем процессе. Сама пошаговая инструкция - во второй половине статьи.
Общие определения
i18n
i18n - сокращение от internationalization. Так называют процесс поддержки разных языков в приложении. Это не сам перевод, а именно техническая составляющая проекта, которая позволяет отображать текст на разных языках, в зависимости от предпочтений пользователя. Обычно реализацией занимается разработчик.
l10n ...
Подключение celery к django
Для подключения celery к новому проекту так или иначе приходится подглядывать в предыдущие, чтобы вспомнить необходимые шаги: какие настройки задавать, как запускать, как останавливать и т.д.
Хочу собрать все в одном месте.
Что нужно получить в итоге
- Посредством celery добавить возможность django проекту выполнять задачи в фоне, чтобы не загружать текущий python процесс. Пример таких задач: отправка емейлов, работа со сторонним апи, долгие вычисления и т.д.
- В качестве брокера используем redis.
- В админке ...
Асинхронный Bitcoin RPC клиент на python
Для работы с Bitcoin RPC на python'е есть библиотека Python-BitcoinRPC.
Но недавно мне понадобилось обратиться к API из приложения на tornado. Указанная библиотека работает в синхронном, т.е. блокирующем режиме. Для торнадо было бы намного лучше использовать асинхронную версию. Готовой найти не удалось, поэтому написал свой форк - асинхронный, который использует торнадовский AsyncHTTPClient: https://github.com/st4lk/python-bitcoinrpc-tornado.
Пример (выводит текущее количество блоков в сети Bitcoin):
from bitcoinrpc_async.authproxy import AsyncAuthServiceProxy
from tornado import ioloop ...
Tornado: пример веб приложения
Tornado - асинхронный веб фреймворк для python'а. Вначале я приведу краткий перечень плюсов и минусов tornado, а потом расскажу о типовом веб проекте с использованием этого инструмента.
Плюсы tornado
В плюсах и минусах я буду приводить свое личное ощущение по сравнению с django.
1. Асинхронность.
Торнадо представляет из себя бесконечный цикл (ioloop), который постоянно проверяет наличие событий. Все это происходит в одном потоке. К примеру кто-то обратился по адресу /home/. Допустим в качестве обработчика этого ...