ジョブの失敗からの回復
学習の目的
この単元を完了すると、次のことができるようになります。
- ジョブの問題の検出に使用できるリソースを挙げる。
- 一般的な問題の種類を挙げる。
- メールによる通知のエラーを調査する方法を説明する。
- Production (本番) インスタンス上のジョブの問題を修正する最善策について説明する。
はじめに
Cloud Kick の管理者である Linda Rosenberg は、自動トラブルシューティングを構成して、ジョブの実行時にプロアクティブに対処することが最善策であることを知っています。ジョブの開始に失敗したとき、一旦立ち止まってデータを収集すれば、何が起こったのかを把握して、結局のところ迅速に対処できます。
ジョブをスムーズに実行できるかどうかは、本人がどう対処するかにかかっています!
ジョブの問題の検出
プロアクティブなアプローチとは、ジョブが指定した時間を超えても実行されている場合、管理者にメールが送信されるようにすべてのジョブを設定することです。こうすれば、予期せぬ事態に驚くことが少なくなります。
時として、ジョブに問題があり、Salesforce B2C Commerce がログに記録するものの、ジョブ自体は停止されないことがあります。エラーが解消されず、顕著な問題である場合は、Linda がジョブを検出して停止する処理をジョブパイプラインに追加できます。
Linda は、ログを定期的にチェックして、問題が慢性的なものかどうかを特定することが適切な対策であることを知っています。
E メールによる通知
Linda は、スケジュールまたはジョブごとにメールによる通知の値を設定できます。業務を簡便にするために、すべてのメールによる通知に同じメールテンプレートを使用します。B2C Commerce では、標準のテキストファイルに次の内容を記載した通知を送信します。
- 送信者アドレス
- 宛先リスト
- 件名
- 本文
エラー通知を送信するメールサーバーを構成していない場合は、ログファイルで確認できます。B2C Commerce では、エラーをシステムエラーログと syslog に記録します。
ジョブの問題
ジョブのステータスが [実行中] のままで、Linda がロックを少なくとも 1 つ取得している場合は、ジョブを再度実行する前にロックをリリースする必要があります。ロックをリリースするには、Control Center を使用してインスタンスを停止してからリスタートします。Control Center にアクセスするには適切なログイン情報が必要です。
ネットワークの問題
インスタンスがダウンしたためにジョブが停止した場合や、ジョブが中断された場合は、更新済みのデータと古いデータが混在している可能性があります。この場合はジョブを再度実行します。
データのエラー
データのエラーをトラブルシューティングする場合は、次の方法を試行します。
回復方法 | 説明 |
---|---|
データを別のインスタンスからレプリケートする | Production (本番) へのインポート中に問題が生じ、Staging (ステージング) にロールバック可能な適切なデータがある場合の最善策です。 |
バックエンドシステムで生成された新しいフィードをインポートする | ごく一般的な回復方法です。通常は、バックエンドシステムでデータを修正し、新しいフィードを生成する必要があります。 |
インポートフィードのアーカイブにあるデータを使用する | フィードを生成するバックエンドシステムに問題がある場合の最善策です。このデータを入手するためには、フィードをアーカイブして、アーカイブ済みの古いフィードをクリーンアップするシステムが必要です。 |
定期エクスポートのデータを使用する | Production (本番) システム上のデータ (商品の在庫状況など) や、Production (本番) に直接インポートされるデータ (価格表など) の最善策です。このデータを入手するためには、必要なデータをエクスポートするジョブを作成する必要があります。 また、バックエンドシステムには存在せず、Business Manager のみに存在するデータ (Web 固有の属性や URL 属性など) にも適した方法です。 |
Production (本番) インスタンス
Linda はデータを Production (本番) インスタンスに転送するケースの大半で、Staging (ステージング) インスタンスからデータのレプリケーションを実行しています。他方、頻繁にインポートする価格設定、在庫、その他の種別のデータについては、外部ソースからデータを直接 Production (本番) に転送するジョブを使用しています。Staging (ステージング) の場合と同様に、ジョブが中断して、Production (本番) インスタンスに新旧のデータが混在することがあります。
アーカイブのベストプラクティス
ジョブの問題の影響を受けた Production (本番) インスタンスを自動的にロールバックすることはできないため、Linda は常に既存のサイトのアーカイブを作成して、ジョブが失敗したときにロールバックできるようにしています。
まとめ
この単元で Linda は、さまざまな状況でジョブのエラーをトラブルシューティングする方法を学習しました。また、アーカイブプロセスや、定期的 (頻繁) なエラーログの確認の重要性を学びました。
では、知識をテストして、新しいバッジを獲得しましょう。
リソース