Documentation ¶
Index ¶
Constants ¶
View Source
const ( DefaultBucketName = "delay_queue_bucket" DefaultReadyQueueName = "delay_queue_ready_queue" DefaultTopicSetName = "delay_queue_topic_set" DefaultBlockPopFromReadyQueueTimeout = 10 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BucketItem ¶
type DelayQueue ¶
type DelayQueue struct {
// contains filtered or unexported fields
}
func NewDelayQueue ¶
func NewDelayQueue(cfg *conf.DelayQueueService) *DelayQueue
func (*DelayQueue) Close ¶
func (dq *DelayQueue) Close()
func (*DelayQueue) Push ¶
func (dq *DelayQueue) Push(task *Task) error
func (*DelayQueue) PushTopic ¶
func (dq *DelayQueue) PushTopic(topic string) error
func (*DelayQueue) Remove ¶
func (dq *DelayQueue) Remove(taskId string) error
func (*DelayQueue) RemoveTopic ¶
func (dq *DelayQueue) RemoveTopic(topic string) error
type ReadyQueue ¶
type ReadyQueue struct {
// contains filtered or unexported fields
}
func NewReadyQueue ¶
func NewReadyQueue() *ReadyQueue
func (*ReadyQueue) BlockPopFromReadyQueue ¶
func (rq *ReadyQueue) BlockPopFromReadyQueue(inst *redis.RedisConnPoolSingleton, key string, timeout int) (string, error)
func (*ReadyQueue) PushToReadyQueue ¶
func (rq *ReadyQueue) PushToReadyQueue(inst *redis.RedisConnPoolSingleton, key string, jobId string) error
type RedisRWRequest ¶
type RedisRWRequest struct { RequestType RedisRequestType RequestOp RedisRWRequestOp Inputs []interface{} ResponseCh chan *RedisRWResponse }
type RedisRWRequestOp ¶
type RedisRWRequestOp int
const ( PutTopicRequest RedisRWRequestOp = 1 ListTopicRequest RedisRWRequestOp = 2 HasTopicRequest RedisRWRequestOp = 3 DelTopicRequest RedisRWRequestOp = 4 PushToBucketRequest RedisRWRequestOp = 5 GetOneFromBucketRequest RedisRWRequestOp = 6 DelFromBucketRequest RedisRWRequestOp = 7 )
type RedisRWResponse ¶
type RedisRWResponse struct { Outputs []interface{} Err error }
type RedisRequestType ¶
type RedisRequestType int
const ( TopicRequest RedisRequestType = 1 BucketRequest RedisRequestType = 2 )
type Task ¶
type Task struct { Topic string `json:"topic" msgpack:"1"` // 任务类型, 可以是具体的业务名称 Id string `json:"id" msgpack:"2"` // 任务唯一标识, 用来检索/删除指定的任务 Delay int64 `json:"delay" msgpack:"3"` // 任务需要延迟执行的时间, 单位: 秒 TTR int64 `json:"ttr" msgpack:"4"` // 任务执行超时的时间, 单位: 秒 Blob string `json:"blob" msgpack:"5"` // 任务内容, 供消费者做具体的业务处理, 以json格式存储 }
Click to show internal directories.
Click to hide internal directories.