События, отправленные сервером Python

Введение

Примеры

  • Настой SSE

     @route("/stream")
    def stream():
        def event_stream():
            while True:
                if message_to_send:
                    yield "data: 
                        {}\n\n".format(message_to_send)"
    
        return Response(event_stream(), mimetype="text/event-stream") 
  • Asyncio SSE

    В этом примере используется asyncio библиотека SSE: https://github.com/brutasse/asyncio-sse

    import asyncio
    import sse
    
    class Handler(sse.Handler):
        @asyncio.coroutine
        def handle_request(self):
            yield from asyncio.sleep(2)
            self.send('foo')
            yield from asyncio.sleep(2)
            self.send('bar', event='wakeup')
    
    start_server = sse.serve(Handler, 'localhost', 8888)
    asyncio.get_event_loop().run_until_complete(start_server)
    asyncio.get_event_loop().run_forever()

Синтаксис

Параметры

Примечания