Esempio n. 1
0

def publish_to_socket(channel):
    pubsub = r.pubsub()
    pubsub.subscribe([channel])
    while True:
        for item in pubsub.listen():
            socketio.emit('my response', {'data': item['data']})


def run():
    for key in ALL_FIELDS:
        pool.map(publish_to_socket, ALL_FIELDS)


socketio.start_background_task(target=run)


def get_app():
    return app


def get_socket_app():
    return socketio


#background task

from . import views
#import redispublisher
Esempio n. 2
0
@socketio.on('connect', namespace='/test')
def test_connect():
    emit('my response', {'data': 'Connected!'})


@socketio.on('disconnect', namespace='/test')
def test_disconnect():
    print('Client disconnected')


def background_thread():
    def emit_message_callback(ch, method, properties, body):
        print(" [x] Received %r" % body)
        socketio.emit('my response', {
            'data': body.decode('utf-8'),
        },
                      namespace='/test',
                      broadcast=True)

    message_listen(emit_message_callback)


if __name__ == '__main__':
    socketio.start_background_task(target=background_thread)
    socketio.run(app,
                 host='0.0.0.0',
                 port=5001,
                 debug=True,
                 use_reloader=False)