Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Đăng ký Flask-SocketIO

Tôi đã giải quyết việc chuyển ứng dụng làm đối số cho lớp và sử dụng ngữ cảnh của nó như được đề xuất bởi mô tả lỗi, nhưng không gian tên cũng cần thiết:

class Listener(threading.Thread):
    def __init__(self, r, channels, app):
    threading.Thread.__init__(self)
    self.daemon = True
    self.redis = r
    self.pubsub = self.redis.pubsub()
    self.pubsub.psubscribe(channels)
    self.app = app

    def work(self, item):
        with app.app_context():
            if isinstance(item['data'], bytes):
                try:
                    msg = item['data'].decode('utf-8')
                    decode_msg = json.loads(msg)                
                    if decode_msg['type'] == 'UPDATE_TASK':
                        send(json.dumps({"type":"UPDATE_TASK"}), room='home', namespace='/')
                    #_send_task_message()
                except ValueError as e:
                    log.error("Error decoding msg to microservice: %s", str(e))

    def run(self):
        for item in self.pubsub.listen():
            self.work(item)

if __name__ == '__main__':

    r = redis.Redis()
    client = Listener(r, ['/bobguarana/socketio'], app)
    client.start()

    socketio.run(debug=True, app=app, port=8080)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm lại, hết hạn phiên và tra cứu ngược

  2. Làm cách nào tôi có thể nhận được Người dùng chính hiện đã được xác thực với bảo mật mùa xuân và Redis trong ứng dụng khởi động mùa xuân

  3. Làm thế nào để đạt được cùng thứ hạng với cùng số điểm trong Redis 'ZRANK?

  4. Tôi có thể sử dụng Tornado + Celery + RabbitMQ + Redis không?

  5. Mẫu tốt nhất để xử lý vòng lặp không đồng bộ trong Node.js