demucs-server/src/demucs_server/sse.py

22 lines
437 B
Python

import queue
class AnnounceBus:
def __init__(self):
self.listeners = []
def listen(self):
q = queue.Queue(maxsize=5)
self.listeners.append(q)
return q
def announce(self, msg):
for i in reversed(range(len(self.listeners))):
try:
self.listeners[i].put_nowait(msg)
except queue.Full:
del self.listeners[i]
bus = AnnounceBus()