rewritten push server to pub sub with mutex