queue/delay/abstract.go

45 lines
932 B
Go
Raw Normal View History

// Package delay ...
//
// Description : delay ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2022-07-06 18:06
package delay
import (
"context"
)
// 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 消费数据
2022-07-08 16:53:42 +08:00
Consume(ctx context.Context) ([]*ZRangeData, error)
// ConsumeWithHandler 消费数据并使用handler处理
2022-07-08 16:53:42 +08:00
ConsumeWithHandler(ctx context.Context, handler IHandler) error
}
// IHandler 消息的处理
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:26 2022/7/7
type IHandler interface {
// Handle 处理消费到的数据
2022-07-08 16:53:42 +08:00
Handle(queData []*ZRangeData) error
}