Add indexer cache with River queue for scheduled refresh
This commit is contained in:
@@ -3,6 +3,8 @@ package indexer
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/riverqueue/river"
|
||||
"github.com/rs/zerolog/log"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
@@ -15,10 +17,10 @@ type IndexerServer struct {
|
||||
pb.UnimplementedIndexerServiceServer
|
||||
}
|
||||
|
||||
func NewIndexerServer(cfg config.Config) (*IndexerServer, error) {
|
||||
service, err := NewIndexerService(cfg)
|
||||
func NewIndexerServer(cfg config.Config, riverClient *river.Client[pgx.Tx]) (*IndexerServer, error) {
|
||||
service, err := NewIndexerService(cfg, riverClient)
|
||||
if err != nil {
|
||||
log.Err(err).Msg("Failed to initialize IndexerService")
|
||||
log.Err(err).Msg("failed to initialize IndexerService")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -32,7 +34,9 @@ func (server *IndexerServer) Search(ctx context.Context, req *pb.SearchRequest)
|
||||
Str("tracker", req.GetTracker()).
|
||||
Msg("search started")
|
||||
|
||||
resp, err := server.service.Search(req)
|
||||
log.Trace().Str("query", req.GetQuery()).Msg("fetching results from indexer")
|
||||
|
||||
resp, err := server.service.Search(req.GetQuery(), req.GetLimit(), req.GetTracker())
|
||||
if err != nil {
|
||||
log.Error().Err(err).Str("query", req.GetQuery()).Msg("search failed")
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user