Chci používat funkci PubSub REDIS k realizaci kometu, ale PubSub nemá časový limit, takže když jsem ps.listen()
, že bude blokovat, i když klient zavře prohlížeč.
greenlet má časový limit funkce, když potěr procesu. ale nevím, jak zkombinovat.
baňka je pseudo
@app.route('/')
def comet():
rc = redis.Redis()
ps = rc.pubsub()
ps.subscribe('foo')
for item in ps.listen():
if item['type'] == 'message':
return item['data']
# ps.listen() will block, so how to make it timeout after 30 s?