func (prod *Redis) storeSortedSet(msg core.Message) { value, _ := prod.format.Format(msg) var scoreValue []byte if prod.fieldFromParsed { scoreMsg := msg scoreMsg.Data = value scoreValue, _ = prod.fieldFormat.Format(scoreMsg) } else { scoreValue, _ = prod.fieldFormat.Format(msg) } score, err := strconv.ParseFloat(string(scoreValue), 64) if err != nil { Log.Error.Print("Redis: ", err) return // ### return, no valid score ### } result := prod.client.ZAdd(prod.key, redis.Z{ Score: score, Member: string(value), }) if result.Err() != nil { Log.Error.Print("Redis: ", result.Err()) msg.Drop(prod.GetTimeout()) } }
func (prod *Redis) storeString(msg core.Message) { value, _ := prod.ProducerBase.Format(msg) result := prod.client.Set(prod.key, string(value)) if result.Err() != nil { Log.Error.Print("Redis: ", result.Err()) msg.Drop(prod.GetTimeout()) } }
func (prod *File) writeMessage(msg core.Message) { msg.Data, msg.StreamID = prod.ProducerBase.Format(msg) state, err := prod.getFileState(msg.StreamID, false) if err != nil { Log.Error.Print("File log error:", err) msg.Drop(time.Duration(0)) return // ### return, dropped ### } if !state.batch.Append(msg) { state.writeBatch() state.batch.Append(msg) } }
func (prod *Redis) storeHash(msg core.Message) { value, _ := prod.format.Format(msg) var field []byte if prod.fieldFromParsed { fieldMsg := msg fieldMsg.Data = value field, _ = prod.fieldFormat.Format(fieldMsg) } else { field, _ = prod.fieldFormat.Format(msg) } result := prod.client.HSet(prod.key, string(field), string(value)) if result.Err() != nil { Log.Error.Print("Redis: ", result.Err()) msg.Drop(prod.GetTimeout()) } }