現在、magento での製品の保存を高速化する方法を考え出そうとしています。Magento API 経由で製品をインポートしていますが、各製品の更新には時間がかかります。catalog_product_save_* イベントでトリガーされる多数のオブザーバーがあります。
どのオブザーバーが重要でなく、それらを無効にできるか、または低影響で無効にできるものを教えてください。
アドバイスをありがとう。ジャロ
現在、magento での製品の保存を高速化する方法を考え出そうとしています。Magento API 経由で製品をインポートしていますが、各製品の更新には時間がかかります。catalog_product_save_* イベントでトリガーされる多数のオブザーバーがあります。
どのオブザーバーが重要でなく、それらを無効にできるか、または低影響で無効にできるものを教えてください。
アドバイスをありがとう。ジャロ
すべてのインデックスに対して、インデックス モードを「手動」に設定するだけです。
そのため、製品を保存するたびに、magento は reindex を実行しません。
製品のインポートが完了したら、それらを通常に戻し、完全な再インデックスを実行することを忘れないでください。
製品保存後に最も時間がかかる処理はインデクサーです。manual
次のようにプログラムでインデックス モードを設定できます。
$indexers = Mage::getSingleton('index/indexer')->getProcessesCollection();
foreach ($indexers as $indexer) {
$indexer->setMode(Mage_Index_Model_Process::MODE_MANUAL)->save();
}
インポート後、次のように設定しauto
ます。
$indexers = Mage::getSingleton('index/indexer')->getProcessesCollection();
foreach ($indexers as $indexer) {
$indexer->setMode(Mage_Index_Model_Process::MODE_REAL_TIME)->save();
}
また、インポートするものによっては、データの再インデックスが必要になる場合があります。
可能なインデックスのリスト:
- 製品の属性
- 商品価格
- カタログ URL の書き換え
- 商品フラットデータ
- カテゴリ フラット データ
- カテゴリ 製品
- カタログ検索インデックス
- タグ集計データ
- 在庫状況
再インデックスを実行するには:
$process = Mage::getModel('index/process')->load($id);
$process->reindexAll();
$id
上記のリストのリスト インデックスはどこにありますか。