cleanup worker class. more robust recv for ioloop