Files
query-orchestration/internal/query/sync/sync.go
T
Michael McGuinness 71f9802e1a Merged in feature/splitqueryrunning (pull request #57)
Split Query Running + Debugging Full Flow

* completedquerysyncrunner

* spliitinglogic

* synccomplete

* informdependents

* only push same collector

* deps

* livetesting

* foundissue

* some issues resolved

* activeupdate

* collectorupdatefixes

* fix dbquesries

* tests

* tests

* pollingdebug
2025-02-11 15:22:59 +00:00

36 lines
823 B
Go

package querysync
import (
"context"
"fmt"
"log/slog"
"queryorchestration/internal/database"
"github.com/google/uuid"
)
func (s *Service) Sync(ctx context.Context, id uuid.UUID) error {
dbid := database.MustToDBUUID(id)
isextracted, err := s.cfg.GetDBQueries().IsDocumentTextExtracted(ctx, dbid)
if err != nil {
return err
} else if !isextracted {
return fmt.Errorf("document text must be extracted")
}
unsyncedQueries, err := s.cfg.GetDBQueries().ListUnsyncedNoDepsQueriesByDocId(ctx, dbid)
if err != nil {
return err
}
slog.Debug("unsynced queries", "document_id", id.String(), "queries", unsyncedQueries)
ids := make([]uuid.UUID, len(unsyncedQueries))
for i, dbId := range unsyncedQueries {
ids[i] = database.MustToUUID(dbId)
}
return s.svc.ResultSet.TriggerQueriesSync(ctx, id, ids)
}