func (this *worker) run(fn string) { reader := als.NewAlsReader(fn) if err := reader.Open(); err != nil { panic(err) } defer func() { this.wg.Done() reader.Close() }() var ( line []byte err error snsid interface{} msg = als.NewAlsMessage() ) for { line, err = reader.ReadLine() if err != nil { break } else { msg.FromLine(string(line)) snsid, err = msg.FieldValue("_log_info.snsid", als.KEY_TYPE_STRING) if err != nil { continue } fetchAvatar(msg.Area, snsid.(string)) } } }
func NewPipelinePack(recycleChan chan *PipelinePack) (this *PipelinePack) { return &PipelinePack{ RecycleChan: recycleChan, RefCount: int32(1), MsgLoopCount: 0, Input: false, diagnostics: NewPacketTracking(), Message: als.NewAlsMessage(), Logfile: als.NewAlsLogfile(), } }
func (this *worker) run(fn string) { reader := als.NewAlsReader(fn) if err := reader.Open(); err != nil { panic(err) } defer func() { this.wg.Done() reader.Close() }() var ( line []byte err error present bool elapsed interface{} msg = als.NewAlsMessage() ) for { line, err = reader.ReadLine() if err != nil { break } else { msg.FromLine(string(line)) elapsed, err = msg.FieldValue("_log_info.elapsed", als.KEY_TYPE_FLOAT) if err != nil { continue } if _, present = quants[msg.Area]; present { quants[msg.Area].Insert(elapsed.(float64)) } } } }