TGINSIGHT SIMILAR POSTS
Најди сличен содржај
Изворен канал @pythonotes · Post #271 · 12 јул.
Самый большой минус синхронизации из прошлого поста - нестабильность. Не знаю как у вас а у меня эта штука падала несколько раз) По моему не очень production-ready. Что же делать? Отправлять disckcache на сетевой диск? Не, я бы не стал. Ведь есть отличная альтернатива! Это Redis. Redis это жутко быстрая in-memory база данных. Запись в неё похожа на документоориентированные NoSQL базы данных. То есть без схемы, без таблиц. Просто ключ=значение. Redis используется для кэширования и как брокер для передачи сообщений. Имеется подписка на изменения и время жизни записей. Вот пример кода: import redis R = redis.Redis() R.set('key', 'value') R.get('key') # b'value' Имея такой функционал, давайте реализуем что-то очень удобное для обмена данными по сети... Хотя подождите ка, всё уже придумано до нас! И это проект PyRSMQ Что он делает? Создаёт очередь сообщений которые может забирать другой клиент. Как это организовать? Для начала поднимаем cервер Redis. Потом на одном хосте создаём очередь для отправки. queue = RedisSMQ( host=host, port=port, qname='example' ) queue.exceptions(False).\ createQueue(delay=0).\ vt(message_live_time).\ execute() На другом хосте содаём клиента для прослушивания очереди on_receive = lambda msg: print(msg) consumer = RedisSMQConsumer( 'example', on_receive host=host, port=port) Начинаем прослушивание очереди consumer.run() Теперь можем отправлять сообщения queue.sendMessage(delay=0).message(msg).execute() Теперь все сообщения, отправленные в очередь, будут попадать в наш колбек on_receive . ▫️Обязательное условие — наличие поднятого Redis-сервера. ▫️Единственное ограничение, обусловленное спецификой инструментов, данные должны быть JSON serializable. #libs
Hashtags
Пронајдени 0 слични објави
Глобално пребарување
Не се пронајдени слични објави.
Оваа објава нема претходно пресметани резултати на сличност.