Problemi del processo batch con la funzionalità di rilevamento delle modifiche dei prezzi

Questo articolo fornisce una soluzione per i problemi comuni relativi ai processi batch di rilevamento delle modifiche dei prezzi in Microsoft Dynamics 365 Commerce.

Sintomi

La funzionalità di rilevamento delle modifiche dei prezzi Microsoft Dynamics 365 Commerce attiva i processi batch eseguiti in background. Di seguito sono riportati i problemi comuni relativi ai processi batch:

  • Un processo batch di rilevamento delle modifiche dei prezzi richiede molto tempo.
  • Troppi processi batch di rilevamento delle modifiche dei prezzi vengono attivati e in attesa nella coda.

Risoluzione

Per risolvere i problemi, seguire questa procedura:

Passaggio 1: Interrompere la creazione di altri processi batch

Per interrompere la creazione di altri processi batch, seguire questa procedura:

  1. Nella sede centrale di Commerce passare a Retail and Commerce>Headquarters setup>Parameters Commerce>shared parameters>Prezzi e sconti.
  2. In Rilevamento modifiche prezzi rimuovere tutte le persone giuridiche dalla griglia e quindi selezionare Salva.
  3. Riavviare il server oggetti applicazione (AOS).

In generale, Microsoft consiglia di specificare un gruppo batch per i processi batch di rilevamento delle modifiche dei prezzi prima di abilitare la funzionalità di rilevamento delle modifiche dei prezzi. Questa azione limita l'impatto dei processi batch di rilevamento delle modifiche dei prezzi alle istanze di AOS, anziché bloccare il pool di processi batch predefinito.

Passaggio 2: Arrestare e cancellare i processi batch esistenti

Per arrestare e cancellare i processi batch esistenti, eseguire lo script SQL seguente nel database della sede centrale di Commerce.

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