Problemas de sincronização de catálogo

Estou com esse problema há vários anos e queria saber se alguém conseguiu encontrar uma solução.

Quando integro o catálogo via APIS (e também quando faço direto do portal vtex) demoro entre 3 a 4 horas para subir um catálogo de 10 mil sku com baixo tráfego e às vezes demoro mais de um dia.

Não há erros, vejo que os produtos estão sendo integrados, embora às vezes alguns estejam pendentes de aprovação e vejo que quando modifico os preços, por exemplo, não permite que comprem o produto com o preço antigo, mas isso não está refletido nem no pdp nem na pesquisa

Olá @saikios, tudo bem?

Seja bem-vindo a comunidade VTEX.

Segundo a própria documentação da VTEX sobre rate limiting, existem limites de solicitações por IP, por conta, por rota de API e por outros componentes de uma solicitação. Limites que variam ao longo do dia e não são divulgados pela VTEX.

Considerando esta informação, o melhor caminho seria apostar em integrações por meio de filas FIFO, com vários workers processando sua fila e controlando o header do response para tratar o limite de uma determinada solicitação.

Fazendo cálculo por cima, 10.000 SKUs em 3 horas são 55 SKUs por minuto que é bem baixo.

Está integrando direto? Está integrando usando filas? Quais limites sua integração está seguindo?

Abraços!

muito obrigado pelas boas-vindas e pela resposta! @andremiani

então nós os enviamos diretamente integrados através da API, os itens chegam exatamente como você disse em uma fila (não sei se é um FIFO estático ou se tem vários trabalhadores dentro do vtex, pois não os vejo indo em ordem)

porém o problema é que demora muito para os produtos serem publicados nos sites assim que chegam ao catálogo da vtex.

Bom dia, Saikios!

Acredito que a questão da demora seja por indexação ou por cache mesmo. Após enviar os seus produtos via API, eles entram para a fila de indexação.

Nessa documentação aqui tem explicado bonitinho como funciona a indexação aqui na VTEX. Mas resumindo: um produto, após ser enviado para indexação, fica 2 minutos na fila, e em geral, a indexação demora em média 4 min por produto. Esse tempo de 4 minutos é um calculo médio do tempo que o indexador demora para atualizar todas as informações do produto em todas as politicas comerciais que ele é ofertado.

Existem diversos fatores que fazem a indexação ser um pouco mais demorada como também existe um tempo limite para que um produto fique na fila de indexação, e caso esse tempo seja ultrapassado, o produto é enviado para uma fila de repescagem e mais algumas tentativas serão feitas a cada 15 min.

E nessa documentação aqui, você encontra a explicação de como funciona o nosso cache. Nessa documentação também tem uma tabelinha com os tempos médios de cache e para alterações no catálogo esse tempo pode chegar até 2h:

Karina Mota
Field Software Engineer | VTEX

Olá @saikios,

Temos dois assuntos distintos:

Com relação ao tempo total para enviar cerca 10 mil SKUs para o Catálogo na VTEX, pode estar associado a integração direta (sem o uso de filas). Caso a integração com a VTEX já aconteça usando algum sistema de filas, seria só aumentar a quantidade de workers para aumentar a quantidade de itens processados por minuto porquê se o cálculo de 10.000 SKUs em 3h equivalente a 55 SKUs por minuto está correto, tem algum gargalo ai.

Com relação ao tempo de indexação de um produto na VTEX, após a integração ter sido concluída e enviado todos os dados necessários para a VTEX, ai é o que a @KarinaMota explicou e não tem muito o que ser feito mesmo.