queue

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AsyncProcessor

type AsyncProcessor struct {
	// contains filtered or unexported fields
}

AsyncProcessor 异步处理器

func NewAsyncProcessor

func NewAsyncProcessor(workerCount int, storage storage.StorageProvider, proc *processor.ImageProcessor) *AsyncProcessor

NewAsyncProcessor 创建异步处理器

func (*AsyncProcessor) GetPendingCount

func (p *AsyncProcessor) GetPendingCount() int

GetPendingCount 获取待处理任务数

func (*AsyncProcessor) GetQueueSize

func (p *AsyncProcessor) GetQueueSize() int

GetQueueSize 获取队列大小

func (*AsyncProcessor) Start

func (p *AsyncProcessor) Start()

Start 启动处理器

func (*AsyncProcessor) Stop

func (p *AsyncProcessor) Stop() error

Stop 停止处理器

func (*AsyncProcessor) Submit

func (p *AsyncProcessor) Submit(job ProcessingJob) error

Submit 提交任务

func (*AsyncProcessor) SubmitBatch

func (p *AsyncProcessor) SubmitBatch(jobs []ProcessingJob) error

SubmitBatch 批量提交任务

type BatchProcessor

type BatchProcessor struct {
	// contains filtered or unexported fields
}

BatchProcessor 批量处理器

func NewBatchProcessor

func NewBatchProcessor(processor *AsyncProcessor) *BatchProcessor

NewBatchProcessor 创建批量处理器

func (*BatchProcessor) ProcessBatch

func (b *BatchProcessor) ProcessBatch(jobs []ProcessingJob) ([]JobResult, error)

ProcessBatch 批量处理

type FormatInfo

type FormatInfo struct {
	URL  string
	Size int64
}

FormatInfo 格式信息

type JobManager

type JobManager struct {
	// contains filtered or unexported fields
}

JobManager 任务管理器

func NewJobManager

func NewJobManager(processor *AsyncProcessor, totalJobs int) *JobManager

NewJobManager 创建任务管理器

func (*JobManager) GetProgress

func (jm *JobManager) GetProgress() (completed, failed, total int, percentage float64)

GetProgress 获取处理进度

func (*JobManager) ProcessWithProgress

func (jm *JobManager) ProcessWithProgress(jobs []ProcessingJob) ([]JobResult, error)

ProcessWithProgress 带进度的处理

func (*JobManager) Wait

func (jm *JobManager) Wait(ctx context.Context) error

Wait 等待所有任务完成

type JobResult

type JobResult struct {
	Success bool
	Error   error
	Formats map[string]FormatInfo
	FileID  int
}

JobResult 任务结果

type ProcessingJob

type ProcessingJob struct {
	FileID     int
	InputPath  string
	OutputPath string
	Config     processor.ImageConfig
	Callback   func(result JobResult)
	RetryCount int
}

ProcessingJob 处理任务

type ProgressTracker

type ProgressTracker struct {
	// contains filtered or unexported fields
}

ProgressTracker 进度追踪器

func NewProgressTracker

func NewProgressTracker(total int) *ProgressTracker

NewProgressTracker 创建进度追踪器

func (*ProgressTracker) GetPercentage

func (t *ProgressTracker) GetPercentage() float64

GetPercentage 获取百分比

func (*ProgressTracker) GetProgress

func (t *ProgressTracker) GetProgress() (completed, failed, total int)

GetProgress 获取进度

func (*ProgressTracker) IncrementCompleted

func (t *ProgressTracker) IncrementCompleted()

IncrementCompleted 增加完成数

func (*ProgressTracker) IncrementFailed

func (t *ProgressTracker) IncrementFailed()

IncrementFailed 增加失败数

type ResizeJob

type ResizeJob struct {
	Width  int
	Height int
}

ResizeJob 调整大小任务

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL