improve couch push logging and use async