価格変更追跡機能に関するバッチ ジョブの問題
この記事では、Microsoft Dynamics 365 Commerceでの価格変更追跡バッチ ジョブに関する一般的な問題の解決策について説明します。
現象
Microsoft Dynamics 365 Commerce価格変更追跡機能は、バックグラウンドで実行されるバッチ ジョブをトリガーします。 バッチ ジョブに関する一般的な問題を次に示します。
- 価格変更追跡バッチ ジョブには長い時間がかかります。
- 価格変更追跡バッチ ジョブが多数トリガーされ、キューで待機しています。
解決方法
問題を解決するには、次の手順に従います。
手順 1: バッチ ジョブの作成を停止する
より多くのバッチ ジョブの作成を停止するには、次の手順に従います。
- コマース本社で、 小売およびコマース>本社のセットアップ>パラメーター>コマース共有パラメーター>価格と割引に移動します。
- [ 価格変更の追跡] で、グリッドからすべての法人を削除し、[保存] を選択 します。
- アプリケーション オブジェクト サーバー (AOS) を再起動します。
一般に、価格変更追跡機能を有効にする前に 、価格変更追跡バッチ ジョブのバッチ グループを指定 することをお勧めします。 このアクションにより、既定のバッチ ジョブ プールをブロックするのではなく、価格変更追跡バッチ ジョブの AOS インスタンスへの影響が制限されます。
手順 2: 既存のバッチ ジョブを停止してクリアする
既存のバッチ ジョブを停止してクリアするには、コマース本社データベースで次の SQL スクリプトを実行します。
-- 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