lots of work on shutting down cleanly, and reliable RPC communication with redis. using brpop lpush instead of pubsub