Documentation
¶
Index ¶
- Variables
- func GetLogger() zerolog.Logger
- func InitLogger(debug bool)
- func MapConfig(dest interface{}) error
- func MustMapConfig(dest interface{}) error
- func WithLoggerLevel(level zerolog.Level) zerolog.Logger
- func WithSampleLog() zerolog.Logger
- type ConfigError
- type ConsumerWorker
- type DB
- type ES
- type ESDoc
- type MQConsumer
- type MqConfig
- type MqProducer
Constants ¶
This section is empty.
Variables ¶
var ( ErrorNonPointer = newE("mapStruct of non-pointer") ErrorNilInput = newE("mapStruct of nil") ErrorNonStruct = newE("mapStruct of non-struct ptr") )
预定义的一些异常
var ErrShouldDrop = errors.New("unprocessed message")
ErrShouldDrop 如果接收到的消息 consumer 无法处理,希望从队列中删除, 需要返回这个错误
Functions ¶
func MapConfig ¶
func MapConfig(dest interface{}) error
MapConfig 可以从环境变量读取配置灌入到 dest 中,dest 必须是一个指向结构体的指针, 会解析结构体每个字段,通过结构体标签得到这个字段对应的环境变量名,自动将从环境变量读取 到的字符串值转为 dest 字段对应的类型并为其赋值 如果 dest 为 nil,返回 ErrorNilInput 如果 dest 不是一个指针,返回 ErrorNonPointer 如果 dest 指针指向的值不是一个结构体,返回 ErrorNonStruct 如果环境变量的值转为字段相应类型时发生错误,立即返回相应的错误
MapConfig 允许字段值为空
func WithLoggerLevel ¶
WithLoggerLevel 返回一个自定义日志等级的 l 实例
func WithSampleLog ¶ added in v0.0.3
WithSampleLog 返回一个 sampling log 实例 debug 等级每秒输出前 5 条日志,之后每 20 条输出一条 info 等级每秒输出前 5 条日志,之后每 10 条输出一条
Types ¶
type ConfigError ¶
type ConfigError struct {
// contains filtered or unexported fields
}
ConfigError mapper 过程中会出现的错误
type ConsumerWorker ¶ added in v0.0.5
ConsumerWorker 处理从 MQ 得到的消息
type DB ¶ added in v0.0.3
type DB struct {
// contains filtered or unexported fields
}
DB simple wrapper of Gorm
func NewDBWithMockForTest ¶ added in v0.0.3
NewDBWithMockForTest return a new DB instance JUST FOR TESTS JUST FOR TESTS JUST FOR TESTS
func (*DB) QueryMore ¶ added in v0.0.3
QueryMore 查询多个结果,返回的结果需要配合 ScanRows 使用 example: rows, _ := db.QueryMore("SELECT * FROM table LIMIT 10")
for rows.Next(){
_ = db.ScanRows(rows, &dest)
}
type ES ¶ added in v0.0.4
type ES struct {
// contains filtered or unexported fields
}
ES simple wrapper of github.com/olivere/elastic/v7
func (*ES) BulkProcess ¶ added in v0.0.4
BulkProcess start a bulk process
type MQConsumer ¶ added in v0.0.5
type MQConsumer struct {
// contains filtered or unexported fields
}
MQConsumer mq consumer 对象
func NewConsumer ¶ added in v0.0.5
func NewConsumer(ctx context.Context, worker ConsumerWorker, config *MqConfig) *MQConsumer
NewConsumer 创建一个 MQConsumer 实例
type MqConfig ¶ added in v0.0.5
type MqConfig struct {
Addr string
Exchange string
ExchangeType string // topic, direct, etc
Queue string
RoutingKey string
ConsumerTag string
}
MqConfig MQ 的基本配置
type MqProducer ¶ added in v0.0.5
type MqProducer struct {
// contains filtered or unexported fields
}
func NewMqProducer ¶ added in v0.0.5
func NewMqProducer(config *MqConfig) (*MqProducer, error)
func (*MqProducer) Destroy ¶ added in v0.0.5
func (mq *MqProducer) Destroy()
func (*MqProducer) Publish ¶ added in v0.0.5
func (mq *MqProducer) Publish(msg interface{}) (err error)