Problemas de trabalho em lotes com o recurso de controle de alteração de preço
Este artigo fornece uma resolução para os problemas comuns com trabalhos em lotes de controle de alterações de preço no Microsoft Dynamics 365 Commerce.
Sintomas
O recurso de controle de alterações de preço do Microsoft Dynamics 365 Commerce dispara trabalhos em lote que são executados em segundo plano. Aqui estão os problemas comuns com os trabalhos em lotes:
- Um trabalho em lotes de rastreamento de alteração de preço leva muito tempo.
- Muitos trabalhos em lote de rastreamento de alteração de preço são disparados e aguardam na fila.
Solução
Para resolver os problemas, siga estas etapas:
Etapa 1: Parar de criar mais trabalhos em lotes
Para parar de criar mais trabalhos em lotes, siga estas etapas:
- No Commerce headquarters, acesse Configuração do Commerce Headquarters>de varejo e comércio>Parâmetros>Parâmetros>compartilhados do Commerce Preços e descontos.
- Em Controle de alteração de preço, remova todas as entidades legais da grade e selecione Salvar.
- Reinicie o AOS (Application Object Server).
Em geral, a Microsoft recomenda que você especifique um grupo de lotes para trabalhos em lotes de controle de alteração de preço antes de habilitar o recurso de controle de alteração de preço. Essa ação limita o impacto dos trabalhos em lote de rastreamento de alterações de preço às instâncias do AOS, em vez de bloquear o pool de trabalhos em lote padrão.
Etapa 2: Parar e limpar trabalhos em lotes existentes
Para interromper e limpar trabalhos em lotes existentes, execute o script SQL a seguir no banco de dados do Commerce headquarters.
-- find the existing executing jobs
select count(*) from BATCH where CAPTION like '%Price change%' and status = 2 --executing
select count(*) from BATCHJOB where CAPTION like '%Price change%' and status = 2 --executing
-- update the job status (DO NOT update to 0-Hold status; when the batch service restarts, they will be picked up again.)
update BATCH set STATUS = 3 where CAPTION like '%Price change%' and STATUS = 2 --set to error
Update BATCHJOB set STATUS = 3 where CAPTION like '%Price change%' and STATUS = 2 --set to error
-- clear the jobs
delete from BATCH where CAPTION like '%Price change%' and status = 3 --error
delete from BATCHJOB where CAPTION like '%Price change%' and status = 3 --error