some optimize

better way to deal empty msg-body, gc.collect before restart hub