| @@ -105,6 +105,7 @@ func (m *SessionManager) clearJobDone(d workDone) { | |||
| log.Fatal("session job count cannot be negative, problem session") | |||
| } | |||
| } else { | |||
| log.Println(d) | |||
| log.Fatal("When job done, we canot find proper session") | |||
| } | |||
| } | |||
| @@ -121,13 +122,17 @@ func (m *SessionManager) destroySession(openID string) { | |||
| //worker thread | |||
| func (m *SessionManager) startJob(openID string) { | |||
| log.Println("start job worker...") | |||
| s := m.sessions[openID] | |||
| jobFinished := workDone{openID, 0} | |||
| //process all jobs in the channel | |||
| hasJob := true | |||
| for hasJob { | |||
| select { | |||
| case v := <-s.jobs: | |||
| case v := <-m.sessions[openID].jobs: | |||
| if v.header.FromUserName != openID { | |||
| log.Println("Error: Weird Message below ...") | |||
| log.Println(v) | |||
| log.Fatalf("Error: worker thread for %s, see different id=%s \n", openID, v.header.FromUserName) | |||
| } | |||
| log.Println(" Processing job..") | |||
| log.Println(v) | |||
| time.Sleep(5 * time.Second) | |||