Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
B2C Commerce の使用開始
B2C ストアフロントのカスタムジョブのトラブルシューティング

B2C ストアフロントのカスタムジョブのトラブルシューティング

この表を使用して、Business Manager でカスタムジョブの通知を解決します。

通知 解決方法
カスタムジョブでは、トランザクションごとに 1 つの注文しか変更できないか、スケーラビリティの問題が発生する可能性があります。カスタムジョブを確認してください。

カスタムジョブスクリプトのソースコードを確認して、カスタムジョブが 1 回のトランザクションで 1 つの注文のみを変更することを確認してください。

例: このコードは、トランザクション内の複数の注文を変更します。

var order1 = OrderMgr.getOrder(parameters.orderNo1 ); 
var order2 = OrderMgr.getOrder(parameters.orderNo2 ); 
Transaction.wrap(function() { 
   order1.setExternalOrderText(aValueToBeSet);
   order2.setExternalOrderText(aValueToBeSet); 
});

1 回のトランザクションで 1 つの注文のみを変更するようにコードを変更します。

var order1 = OrderMgr.getOrder(parameters.orderNo1 ); 
var order2 = OrderMgr.getOrder(parameters.orderNo2 ); 
Transaction.wrap(function() { 
   order1.setExternalOrderText(aValueToBeSet); 
});
Transaction.wrap(function() {
   order2.setExternalOrderText(aValueToBeSet); 
});

利点:

  • 注文オブジェクトに対する小規模なトランザクションにより、内部ロック時間が短縮され、注文データ構造のスループットが向上します。このアプローチにより、ストアフロントのパフォーマンスとスケーリングが向上します。
  • 潜在的な楽観的ロック例外は、1 つの注文に限定されます。内部ロック時間が短縮されることで、楽観的ロックの問題が発生する可能性も低くなります。
別のプロセスによる同時変更により、注文エクスポートデータが同期しなくなったり、2 回エクスポートされたりする可能性があります。詳しくは、ログメッセージとデベロッパーのベストプラクティスをご覧ください。 注文のエクスポートプロセスを見直して、別のプロセスで注文が変更されていないか確認します。エクスポート中に別のプロセスによって注文が変更されるリスクを最小限に抑えるには、注文のエクスポートを遅らせます。詳細については、B2C 店舗の注文エクスポートの遅延を参照してください。
 
読み込み中
Salesforce Help | Article