2025-12-16 16:37:53 +00:00
|
|
|
package queue
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/google/uuid"
|
2026-01-06 22:23:59 +00:00
|
|
|
"github.com/rs/zerolog/log"
|
2025-12-16 16:37:53 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// AudioJob represents a job to process an audio file.
|
2026-01-20 17:10:22 +00:00
|
|
|
type JobAudio struct {
|
2025-12-16 16:37:53 +00:00
|
|
|
AudioUUID uuid.UUID
|
|
|
|
|
}
|
|
|
|
|
|
2026-01-20 17:10:22 +00:00
|
|
|
var ChannelJobAudio chan JobAudio
|
2025-12-16 16:37:53 +00:00
|
|
|
|
|
|
|
|
// EnqueueAudioJob sends an audio processing job to the worker.
|
2026-01-20 17:10:22 +00:00
|
|
|
func EnqueueAudioJob(job JobAudio) {
|
2025-12-16 16:37:53 +00:00
|
|
|
select {
|
2026-01-20 17:10:22 +00:00
|
|
|
case ChannelJobAudio <- job:
|
2026-01-06 22:23:59 +00:00
|
|
|
log.Info().Str("uuid", job.AudioUUID.String()).Msg("Enqueued audio job")
|
2025-12-16 16:37:53 +00:00
|
|
|
default:
|
2026-01-06 22:23:59 +00:00
|
|
|
log.Warn().Str("uuid", job.AudioUUID.String()).Msg("Audio job channel is full, dropping job")
|
2025-12-16 16:37:53 +00:00
|
|
|
}
|
|
|
|
|
}
|