diff --git a/sessionManager.go b/sessionManager.go index efd5bfe..a0bbc26 100644 --- a/sessionManager.go +++ b/sessionManager.go @@ -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)