1. add redis reconnection
2. use blpop instead of pub-sub
3. return application/json