diff --git a/internal/queue/backend.go b/internal/queue/backend.go index f7f9ab3..8577b25 100644 --- a/internal/queue/backend.go +++ b/internal/queue/backend.go @@ -51,6 +51,7 @@ const ( QueueBackendRedis QueueBackend = "redis" QueueBackendSQLite QueueBackend = "sqlite" QueueBackendFS QueueBackend = "filesystem" + QueueBackendNative QueueBackend = "native" // Native C++ queue_index (requires -tags native_libs) ) type BackendConfig struct { @@ -85,6 +86,11 @@ func NewBackend(cfg BackendConfig) (Backend, error) { return nil, fmt.Errorf("filesystem queue path is required") } return NewFilesystemQueue(cfg.FilesystemPath) + case QueueBackendNative: + if strings.TrimSpace(cfg.FilesystemPath) == "" { + return nil, fmt.Errorf("native queue path is required") + } + return NewNativeQueue(cfg.FilesystemPath) case "", QueueBackendRedis: b, err := NewTaskQueue(Config{ RedisAddr: cfg.RedisAddr,