価格変更追跡機能に関するバッチ ジョブの問題
この記事では、Microsoft Dynamics 365 Commerce の価格変更追跡バッチ ジョブに関する一般的な問題の解決策について説明します。
現象
Microsoft Dynamics 365 Commerce 価格変更追跡 機能は、バックグラウンドで実行されるバッチ ジョブをトリガーします。 バッチ ジョブに関する一般的な問題を次に示します。
- 価格変更追跡バッチ ジョブには長い時間がかかります。
- 多数の価格変更追跡バッチ ジョブがトリガーされ、キューで待機しています。
解決方法
問題を解決するには、次の手順に従います。
手順 1: より多くのバッチ ジョブの作成を停止する
より多くのバッチ ジョブの作成を停止するには、次の手順に従います。
- コマース本社で、 Retail and Commerce>Headquarters のセットアップ>Parameters>Commerce 共有パラメーター>Prices と割引に移動します。
- [ 価格変更の追跡で、グリッドからすべての法人を削除し、 保存を選択します。
- アプリケーション オブジェクト サーバー (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