Форум сайта python.su
Добрый день, возник вопрос по работе с БД redis, в частотности с подпиской.
Использую python 3.4.0 и либу tornadoredis.
def show_message(mes): print(mes) client_redis = tornadoredis.Client() client_redis.connect() client_redis.subscribe('test_sub') client_redis.listen(show_message)
import redis r = redis.Redis() r.publish('test_sub', '12345')
Отредактировано hound (Янв. 1, 2015 22:25:14)
Офлайн
В общем, не до конца вкурил маны…
если кому интересно:
# Use the synchronous redis client to publish messages to a channel redis_client = redis.Redis() # Create the tornadoredis.Client instance # and use it for redis channel subscriptions subscriber = tornadoredis.pubsub.SockJSSubscriber(tornadoredis.Client()) class SubscriptionHandler(sockjs.tornado.SockJSConnection): """ SockJS connection handler. Note that there are no "on message" handlers - SockJSSubscriber class calls SockJSConnection.broadcast method to transfer messages to subscribed clients. """ def __init__(self, *args, **kwargs): super(MessageHandler, self).__init__(*args, **kwargs) subscriber.subscribe('test_channel', self) def on_close(self): subscriber.unsubscribe('test_channel', self)
Офлайн