Documentation ¶
Overview ¶
通用队列组件(此组件会牺牲部分队列的执行效率,用以建立相对统一的队列处理方案)
Index ¶
- func Add(funs string, conf *FuncConf)
- func AddMap(funs map[string]func(param []byte) error)
- func List() map[string]FuncConf
- func Listen()
- func Remove(fun string)
- func Set(funs string, param any) error
- func SetDef(funs string, param any, def time.Duration) error
- func SetDervice(c Queue)
- func SetLogInsert(c func(log *QueueLog))
- type FuncConf
- type Queue
- type QueueLog
- type Xq
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Set ¶
写入队列【若未开启队列的话,将不管队列方法执行的结果,即程序会运行0~1次,即使是失败,所以建议开启NSQ队列,用以保证任务能成功执行】
fun 写入的服务名称,对应读取时的名称配置 param 传入的参数,对应读取时的参数结构
Types ¶
type FuncConf ¶
type FuncConf struct { Name string // 队列任务名称 Desc string // 队列任务描述 Func func(param []byte) error // 执行的函数操作 }
队列配置结构
type Queue ¶
type Queue interface { Set(dat []byte) error // 推送队列任务 SetDef(dat []byte, t time.Duration) error // 推送延时任务 Listen(f func(dat []byte) error) error // 队列监听任务 }
队列实现驱动
type QueueLog ¶
type QueueLog struct { Id uint `gorm:"column:id" xml:"id" form:"id" json:"id"` Key string `gorm:"column:key;size:200" xml:"key" form:"key" json:"key"` // 队列key Name string `gorm:"column:name;size:200" xml:"name" form:"name" json:"name"` // 队列name名称 Desc string `gorm:"column:desc;size:200" xml:"desc" form:"desc" json:"desc"` // 队列帮助描述 Type uint8 `gorm:"column:type" xml:"type" form:"type" json:"type"` // 操作类型 1-入队 2-执行 IsError int8 `gorm:"column:is_error" xml:"is_error" form:"is_error" json:"is_error"` // 是否产生错误 1-产生了错误 Error string `gorm:"column:error" xml:"error" form:"error" json:"error"` // 错误描述 Param string `gorm:"column:param" xml:"param" form:"param" json:"param"` // 队列执行参数 CreatedAt int64 `gorm:"column:created_at" xml:"created_at" form:"created_at" json:"created_at"` // 操作时间 }
队列执行日志模型
Click to show internal directories.
Click to hide internal directories.