#49 use queue.Queue for fake pub/sub

This commit is contained in:
Henning Jacobs
2017-01-06 22:55:21 +01:00
parent 53ca68789e
commit b7884f0f6a

16
app.py
View File

@@ -16,6 +16,7 @@ import requests
import datetime
import time
import tokens
from queue import Queue
from flask import Flask, redirect
from flask_oauthlib.client import OAuth, OAuthRemoteApp
@@ -24,19 +25,18 @@ from urllib.parse import urljoin
class Store:
def __init__(self):
self._events = []
self._queues = []
def publish(self, event_type, event_data):
self._events.append((event_type, event_data))
for queue in self._queues:
queue.put((event_type, event_data))
def listen(self):
i = 0
queue = Queue()
self._queues.append(queue)
while True:
if i < len(self._events):
yield self._events[i]
i += 1
else:
gevent.sleep(0.2)
item = queue.get()
yield item
STORE = Store()