change http streaming to be event based or use redis