client queue thread