Kaynağa Gözat

each user's channel reduced to 50 and sanity check converted to function checkOpenID

master
Patrick Peng Sun 8 yıl önce
ebeveyn
işleme
e616282c7d
1 değiştirilmiş dosya ile 12 ekleme ve 11 silme
  1. +12
    -11
      sessionManager.go

+ 12
- 11
sessionManager.go Dosyayı Görüntüle

@@ -2,7 +2,6 @@ package main

import (
"log"
"time"
)

//openIDSession for a given openID
@@ -81,7 +80,7 @@ func (m *SessionManager) createSession(openID string) openIDSession {
s := openIDSession{}
s.openID = openID
s.count = 0
s.jobs = make(chan InWechatMsg, 200)
s.jobs = make(chan InWechatMsg, 50)
s.data, _ = getCurrentSesssion(openID) //either load or create new
m.sessions[openID] = s //register it to memory
return s
@@ -129,15 +128,9 @@ func (m *SessionManager) startJob(openID string) {
for hasJob {
select {
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)
kfSendTxt(openID, "Job Processed "+v.body.(TextMsg).Content)
m.checkOpenID(openID, v)
s := m.sessions[openID]
s.data.incomingMsg(v) //<=== main logic for processing each incoming message
jobFinished.consumed++
default:
hasJob = false
@@ -146,3 +139,11 @@ func (m *SessionManager) startJob(openID string) {
m.done <- jobFinished //notify parent that we have done
return
}

func (m *SessionManager) checkOpenID(openID string, v InWechatMsg) {
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)
}
}

Yükleniyor…
İptal
Kaydet