From 567e20b19c505cc23c097a1370667527badd52df Mon Sep 17 00:00:00 2001 From: Mazyar Date: Sat, 9 May 2026 12:32:38 +0330 Subject: [PATCH] Get tender timeout fix --- internal/tender/service.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/tender/service.go b/internal/tender/service.go index 481a10d..fa3f559 100644 --- a/internal/tender/service.go +++ b/internal/tender/service.go @@ -56,6 +56,8 @@ type tenderService struct { defaultLanguage string } +const aiSummaryEnrichmentTimeout = 2 * time.Second + // NewService creates a new tender service func NewService(repository TenderRepository, companyService company.Service, customerService customer.Service, logger logger.Logger, aiClient AISummarizerClient, aiStorage AISummarizerStorage, defaultLanguage string) Service { if strings.TrimSpace(defaultLanguage) == "" { @@ -109,7 +111,11 @@ func (s *tenderService) enrichWithAISummary(ctx context.Context, resp *TenderRes return } - summary, err := s.aiSummarizerStorage.GetSummaryFromStorage(ctx, resp.NoticePublicationID) + // Keep tender detail response fast even if AI storage is slow/unreachable. + enrichCtx, cancel := context.WithTimeout(ctx, aiSummaryEnrichmentTimeout) + defer cancel() + + summary, err := s.aiSummarizerStorage.GetSummaryFromStorage(enrichCtx, resp.NoticePublicationID) if err != nil { s.logger.Debug("AI summary not available for tender", map[string]interface{}{ "tender_id": resp.ID,