Documentation
¶
Index ¶
- Constants
- func QueueKey(name string) string
- type RedisBroker
- func (rtx *RedisBroker) Archive(ctx context.Context, msg *structs.TaskMessage, errMsg string) error
- func (rtx *RedisBroker) CancelationPubSub(ctx context.Context) (*redis.PubSub, error)
- func (rtx *RedisBroker) CheckAndEnqueue(ctx context.Context, qnames ...string) error
- func (rtx *RedisBroker) ClearServerState(ctx context.Context, host string, pid int, serverID string) error
- func (rtx *RedisBroker) Close(ctx context.Context) error
- func (rtx *RedisBroker) Dequeue(ctx context.Context, qnames ...string) (*structs.TaskMessage, time.Time, error)
- func (rtx *RedisBroker) Done(ctx context.Context, msg *structs.TaskMessage) error
- func (rtx *RedisBroker) Enqueue(ctx context.Context, msg *structs.TaskMessage) error
- func (rtx *RedisBroker) EnqueueUnique(ctx context.Context, msg *structs.TaskMessage, ttl time.Duration) error
- func (rtx *RedisBroker) ListDeadlineExceeded(ctx context.Context, deadline time.Time, qnames ...string) ([]*structs.TaskMessage, error)
- func (rtx *RedisBroker) Ping(ctx context.Context) error
- func (rtx *RedisBroker) PublishCancelation(ctx context.Context, id string) error
- func (rtx *RedisBroker) Requeue(ctx context.Context, msg *structs.TaskMessage) error
- func (rtx *RedisBroker) Retry(ctx context.Context, msg *structs.TaskMessage, processAt time.Time, ...) error
- func (rtx *RedisBroker) Schedule(ctx context.Context, msg *structs.TaskMessage, processAt time.Time) error
- func (rtx *RedisBroker) ScheduleUnique(ctx context.Context, msg *structs.TaskMessage, processAt time.Time, ...) error
- func (rtx *RedisBroker) WriteServerState(ctx context.Context, info *structs.ServerInfo, workers []*structs.WorkerInfo, ...) error
Constants ¶
View Source
const (
AllQueens = "tq:queens" // SET, 用到的所有的队列名
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type RedisBroker ¶
type RedisBroker struct {
// contains filtered or unexported fields
}
func NewRedisBroker ¶
func NewRedisBroker(client redis.UniversalClient) *RedisBroker
func (*RedisBroker) Archive ¶
func (rtx *RedisBroker) Archive(ctx context.Context, msg *structs.TaskMessage, errMsg string) error
func (*RedisBroker) CancelationPubSub ¶
func (*RedisBroker) CheckAndEnqueue ¶
func (rtx *RedisBroker) CheckAndEnqueue(ctx context.Context, qnames ...string) error
func (*RedisBroker) ClearServerState ¶
func (*RedisBroker) Dequeue ¶
func (rtx *RedisBroker) Dequeue(ctx context.Context, qnames ...string) (*structs.TaskMessage, time.Time, error)
func (*RedisBroker) Done ¶
func (rtx *RedisBroker) Done(ctx context.Context, msg *structs.TaskMessage) error
func (*RedisBroker) Enqueue ¶
func (rtx *RedisBroker) Enqueue(ctx context.Context, msg *structs.TaskMessage) error
Enqueue ...
func (*RedisBroker) EnqueueUnique ¶
func (rtx *RedisBroker) EnqueueUnique(ctx context.Context, msg *structs.TaskMessage, ttl time.Duration) error
EnqueueUnique 首先检查 msg 是否已经在 唯一队列 中,如果在,返回错误;如果不在,执行 Enqueue 逻辑
func (*RedisBroker) ListDeadlineExceeded ¶
func (rtx *RedisBroker) ListDeadlineExceeded(ctx context.Context, deadline time.Time, qnames ...string) ([]*structs.TaskMessage, error)
func (*RedisBroker) PublishCancelation ¶
func (rtx *RedisBroker) PublishCancelation(ctx context.Context, id string) error
func (*RedisBroker) Requeue ¶
func (rtx *RedisBroker) Requeue(ctx context.Context, msg *structs.TaskMessage) error
func (*RedisBroker) Retry ¶
func (rtx *RedisBroker) Retry(ctx context.Context, msg *structs.TaskMessage, processAt time.Time, errMsg string) error
func (*RedisBroker) Schedule ¶
func (rtx *RedisBroker) Schedule(ctx context.Context, msg *structs.TaskMessage, processAt time.Time) error
func (*RedisBroker) ScheduleUnique ¶
func (rtx *RedisBroker) ScheduleUnique(ctx context.Context, msg *structs.TaskMessage, processAt time.Time, ttl time.Duration) error
func (*RedisBroker) WriteServerState ¶
func (rtx *RedisBroker) WriteServerState(ctx context.Context, info *structs.ServerInfo, workers []*structs.WorkerInfo, ttl time.Duration) error
Click to show internal directories.
Click to hide internal directories.