Dela via


Batch-jobbproblem med funktionen för spårning av prisändringar

Den här artikeln innehåller en lösning på vanliga problem med batchjobb för spårning av prisändringar i Microsoft Dynamics 365 Commerce.

Symptom

Funktionen Microsoft Dynamics 365 Commerce prisändringsspårning utlöser batchjobb som körs i bakgrunden. Här är vanliga problem med batchjobben:

  • Ett batchjobb för spårning av prisändringar tar lång tid.
  • För många batchjobb för spårning av prisändringar utlöses och väntar i kön.

Åtgärd

Följ dessa steg för att lösa problemen:

Steg 1: Sluta skapa fler batchjobb

Om du vill sluta skapa fler batchjobb följer du dessa steg:

  1. I Handelshögkvarteret går du till Retail and Commerce>Headquarters och konfigurerar>parametrar>För handel delade parametrar>Priser och rabatter.
  2. Under Prisändringsspårning tar du bort alla juridiska entiteter från rutnätet och väljer sedan Spara.
  3. Starta om programobjektservern (AOS).

I allmänhet rekommenderar Microsoft att du anger en batchgrupp för batchjobb för prisändringsspårning innan du aktiverar funktionen för spårning av prisändringar. Den här åtgärden begränsar effekten av prisändringsspårningen av batchjobb till AOS-instanser, i stället för att blockera standardpoolen för batchjobb.

Steg 2: Stoppa och rensa befintliga batchjobb

Om du vill stoppa och rensa befintliga batchjobb kör du följande SQL-skript i databasen för Commerce-huvudkontoret.

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