Improved Asynchronous Re-indexing

Reindexing Dashboard

All functions of Asynchronous Reindexing extension are combined on a single dashboard, located at System -> Tools -> Index Management.

Reindexing Dashboard

As you can see from the screenshot above, it breaks into two sections:

  • Indices Table - contains all indices defined in your store. From this table, all reindex actions are started (see below).
  • Last Run - a history table which holds the last 9 reindexing schedules.

Refer to the following subsections to learn more:

Working with Indices Table

Indices table contains all indices that are registered on your store:

  • Indexer - name of the index.
  • Description - short description of that index.
  • Mode - mode of update. There are two available modes:
    • Update on Save - indexed data will be updated on their next change. For example, when a new product is added to the indexed category, a reindex will also be made.


      Update on Save is the default Magento mode.
    • Update on Schedule - the index will be updated on the next start of our cron task.
  • Status - status of current index
  • Updated - date of latest update
  • Pending Items - number of schedules
  • Actions - actions that can be performed on the current row. There's two possible actions you can take:
    • Schedule Reindex - schedule index update
    • Run Reindex - run reindex now

From Actions drop-down menu, you can select mass-actions that can be performed on selected indices:

  • Update on Save - set mode of selected indices to Update on Save mode.
  • Update by Schedule - set mode of selected indices to Update on Schedule mode.
  • Schedule Full Reindex - schedule selected indices to the next run of our cron task.
  • Run Full Reindex - perform full reindex on selected indices.
  • Reindex Pending Items - our extension runs reindex only for those chunks of reindexed data which have been changed. This action is useful when a reindex is needed for very large indices.


    If you have scheduled a reindex, but also run this action - it does not cancel the schedule, since data will be updated only partially.

Reindex History

Reindex history holds records about any reindex actions performed in your store. It allows you to track not only errors in the reindexing, but also the performance:

  • Status of last update - although unnamed, it displays the status of the latest reindex.
  • Indexer - name of index
  • Started at - when reindex was started
  • Execution Time - time that was spent for the reindexing.


Unfortunately, our extension does not store precise information on reindex error - it just displays the summary in terms of whether it was completed, or failed.

To determine which exception occurred, you need to run a manual reindexing, after which a full error will be displayed in the top message box.

Managing Crontasks

Our extension adds two new cron tasks that will help you to manage your indices. They are:

  • indexer_reindex_scheduled - runs reindex on scheduled indices (see above for details).
  • indexer_validate - validates indexed data.


    For now, only the products' data is validated.

These cron tasks are executed every second by default. The reindex queue is accompanied by a special lock-file indexer.cli.lock, located in the /var/tmp by default. It prevents conflicts when a previous reindexing cron task is not finished, but a new one has already started.


If you wish to adjust the time of reindexing schedule (for example, for performance tuning), you need to manually adjust crontab in this config XML file:

  1. Find the task names corresponding to cron in this file <job> tag mentioned above, and in the <schedule> child tag adjust execution period.
  2. Then run the bin/magento setup:upgrade command, clean cache, and regenerate static content to apply all changes.