Files
query-orchestration/internal/queryQueue/service.go
T

47 lines
1.1 KiB
Go
Raw Normal View History

2025-01-07 16:30:45 +00:00
package queryqueue
2024-12-23 16:01:54 +00:00
import (
"context"
2024-12-24 17:13:48 +00:00
"queryorchestration/internal/collector"
2025-01-06 12:26:28 +00:00
"queryorchestration/internal/database"
2025-01-03 13:41:07 +00:00
queryprocessor "queryorchestration/internal/queryProcessor"
2024-12-24 17:13:48 +00:00
"queryorchestration/internal/result"
2024-12-23 16:01:54 +00:00
"github.com/google/uuid"
)
type Queue struct {
2025-01-06 15:31:39 +00:00
unsyncedQueue []*queryprocessor.Query
collectorQueries []*queryprocessor.Query
results []*result.Result
2024-12-23 16:01:54 +00:00
collector *collector.Collector
2025-01-06 12:26:28 +00:00
db *database.Connection
2024-12-23 16:01:54 +00:00
cleanVersion int32
textVersion int32
documentId uuid.UUID
}
2025-01-06 15:31:39 +00:00
func New(ctx context.Context, db *database.Connection, coll *collector.Collector, results []*result.Result, docId uuid.UUID, cleanVersion int32, textVersion int32) (*Queue, error) {
2024-12-23 16:01:54 +00:00
queue := Queue{
db: db,
results: results,
collector: coll,
documentId: docId,
cleanVersion: cleanVersion,
textVersion: textVersion,
}
err := queue.getCollectorQueries(ctx)
if err != nil {
return nil, err
}
queue.getUnsyncedQueries()
return &queue, nil
}
2025-01-06 15:31:39 +00:00
func (q *Queue) GetQueue() []*queryprocessor.Query {
return q.unsyncedQueue
2024-12-23 16:01:54 +00:00
}