Compartir a través de


Problemas del trabajo por lotes con la característica de seguimiento de cambios de precios

En este artículo se proporciona una solución para los problemas comunes con los trabajos por lotes de seguimiento de cambios de precios en Microsoft Dynamics 365 Commerce.

Síntomas

La característica de seguimiento de cambios de precios de Microsoft Dynamics 365 Commerce desencadena trabajos por lotes que se ejecutan en segundo plano. Estos son los problemas comunes con los trabajos por lotes:

  • Un trabajo por lotes de seguimiento de cambios de precios tarda mucho tiempo.
  • Se desencadenan demasiados trabajos por lotes de seguimiento de cambios de precios y se esperan en la cola.

Solución

Para resolver los problemas, siga estos pasos:

Paso 1: Dejar de crear más trabajos por lotes

Para dejar de crear más trabajos por lotes, siga estos pasos:

  1. En la sede comercial, vaya a Configuración de la sede>comercial y comercial>Parámetros parámetros compartidos>>Precios y descuentos.
  2. En Seguimiento de cambios de precios, quite todas las entidades legales de la cuadrícula y, a continuación, seleccione Guardar.
  3. Reinicie el servidor de objetos de aplicación (AOS).

En general, Microsoft recomienda especificar un grupo de lotes para los trabajos por lotes de seguimiento de cambios de precios antes de habilitar la característica de seguimiento de cambios de precios. Esta acción limita el impacto de los trabajos por lotes de seguimiento de cambios de precios a instancias de AOS, en lugar de bloquear el grupo de trabajos por lotes predeterminado.

Paso 2: Detener y borrar los trabajos por lotes existentes

Para detener y borrar los trabajos por lotes existentes, ejecute el siguiente script SQL en la base de datos de la sede comercial.

-- 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