Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var WorkerPoolProviderSet = wire.NewSet(NewWorkerPool)
Functions ¶
This section is empty.
Types ¶
type GlobalTaskDispatcher ¶
type GlobalTaskDispatcher struct {
// contains filtered or unexported fields
}
GlobalTaskDispatcher 会扫描多个待处理队列,并以原子方式将任务移入特定工作线程的进行中队列。
func NewGlobalTaskDispatcher ¶
func NewGlobalTaskDispatcher(rdb redis.Cmdable, queues []string) *GlobalTaskDispatcher
NewGlobalTaskDispatcher 创建一个分发器,使用给定的 Redis 客户端和队列名称。
func (*GlobalTaskDispatcher) FindAndClaimTask ¶
func (d *GlobalTaskDispatcher) FindAndClaimTask(ctx context.Context, workerID string) (string, string, string, error)
FindAndClaimTask 尝试从任何待处理队列获取任务。 它返回原始任务消息、基础队列名称和生成的进行中队列名称。
func (*GlobalTaskDispatcher) HasPendingTask ¶
func (d *GlobalTaskDispatcher) HasPendingTask(ctx context.Context) (bool, error)
HasPendingTask 检查是否有任何待处理队列包含任务。
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
Worker 是一个绑定到账号的单个执行单元。
type WorkerPool ¶
type WorkerPool struct {
// contains filtered or unexported fields
}
WorkerPool 管理工人池的生命周期。
func NewWorkerPool ¶
func NewWorkerPool(rdb redis.Cmdable, registry *consumer.HandlerRegistry, rm account.Manager, woRepo data.WorkOrderRepo, conf *conf.Data, logger log.Logger) *WorkerPool
NewWorkerPool 创建一个工人池,所有依赖项均已连接。
Click to show internal directories.
Click to hide internal directories.