Compartir a través de


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

En este artículo se proporciona una resolución de 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 Microsoft Dynamics 365 Commerce desencadena trabajos por lotes que se ejecutan en segundo plano. Estos son problemas comunes con los trabajos por lotes:

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

Solución

Para solucionar 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 de Comercio, vaya a Configuración de lasede> comercial y comercial>Parámetros>Parámetros compartidos> de comercioPrecios y descuentos.
  2. En Seguimiento de cambios de precios, quite todas las entidades jurídicas 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 precio a las instancias de AOS, en lugar de bloquear el grupo de trabajos por lotes predeterminado.

Paso 2: Detener y borrar 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 de Comercio.

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