wip: processing images

This commit is contained in:
2025-09-21 21:48:22 +01:00
parent 221afb599b
commit 013447fa90
6 changed files with 42 additions and 14 deletions

View File

@@ -22,7 +22,7 @@ type ImageProcessor struct {
// TODO: add the notifier here
processor *Processor[model.Image]
Processor *Processor[model.Image]
}
func (p *ImageProcessor) setImageToProcess(ctx context.Context, image model.Image) {
@@ -66,6 +66,8 @@ func (p *ImageProcessor) extractInfo(ctx context.Context, image model.Image) {
}
func (p *ImageProcessor) processImage(image model.Image) {
p.logger.Info("Processing image", "ID", image.ID)
ctx := context.Background()
p.setImageToProcess(ctx, image)
@@ -86,10 +88,10 @@ func (p *ImageProcessor) processImage(image model.Image) {
wg.Wait()
}
func CreateImageProcessor(logger *log.Logger, imageModel models.ImageModel) ImageProcessor {
func NewImageProcessor(logger *log.Logger, imageModel models.ImageModel) ImageProcessor {
imageProcessor := ImageProcessor{imageModel: imageModel, logger: logger}
imageProcessor.processor = NewProcessor(int(IMAGE_PROCESS_AT_A_TIME), imageProcessor.processImage)
imageProcessor.Processor = NewProcessor(int(IMAGE_PROCESS_AT_A_TIME), imageProcessor.processImage)
return imageProcessor
}

View File

@@ -11,6 +11,10 @@ func (p *Processor[TMessage]) Work() {
}
}
func (p *Processor[TMessage]) Add(msg TMessage) {
p.queue <- msg
}
func NewProcessor[TMessage any](bufferSize int, process func(message TMessage)) *Processor[TMessage] {
return &Processor[TMessage]{
queue: make(chan TMessage, bufferSize),