make sure consumer thread not exit for occurent reason