Increase buffer size for result channel in gRPC product retrieval; modify error handling to return nil instead of skipping retry

This commit is contained in:
2025-07-08 11:39:54 +03:00
parent 3976c7d0cf
commit 71dc6b64ad
3 changed files with 7 additions and 7 deletions

View File

@@ -23,23 +23,23 @@ func (p *FetchProductsProcessor) ProcessTask(ctx context.Context, task *asynq.Ta
var payload types.FetchProductsTask
err := payload.Unmarshal(task)
if err != nil {
return asynq.SkipRetry
return nil
}
marketplaceRepo := marketplace.NewDBRepository(p.Dbpool)
marketplaceById, err := marketplaceRepo.GetMarketplaceByID(ctx, payload.MarketplaceId)
if err != nil {
return asynq.SkipRetry
return nil
}
identifier, err := marketplaceById.GetIdentifier()
if err != nil {
return asynq.SkipRetry
return nil
}
lockKey := fmt.Sprintf("ozon:products:marketplace:%s:lock", identifier)
locker := *redis.Locker
_, cancel, err := locker.TryWithContext(ctx, lockKey)
if err != nil {
fmt.Printf("Failed to acquire lock for marketplace %s: %v\n", identifier, err)
return asynq.SkipRetry
return nil
}
defer cancel()
ozonRepo := products.NewAPIRepository(marketplaceRepo)
@@ -54,7 +54,7 @@ func (p *FetchProductsProcessor) ProcessTask(ctx context.Context, task *asynq.Ta
})
productsJson, err := json.Marshal(productsProto)
if err != nil {
return asynq.SkipRetry
return nil
}
redisClient := *redis.Client
productsKey := fmt.Sprintf("ozon:products:%s", identifier)