queue/delay/abstract.go

47 lines
957 B
Go

// Package delay ...
//
// Description : delay ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2022-07-06 18:06
package delay
import (
"context"
"github.com/go-redis/redis/v8"
)
// IProduce 生产者约束
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:06 2022/7/6
type IProduce interface {
// Produce 生产数据
Produce(ctx context.Context, data ...*Queue) error
}
// IConsumer 消费者接口约束
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:19 2022/7/7
type IConsumer interface {
// Consume 消费数据
Consume(queueName string) ([]*redis.Z, error)
// ConsumeWithHandler 消费数据并使用handler处理
ConsumeWithHandler(queueName string, handler IHandler) error
}
// IHandler 消息的处理
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:26 2022/7/7
type IHandler interface {
// Handle 处理消费到的数据
Handle(queData []*ProduceData) error
}