定制 haroone/module-admin-reindex 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

haroone/module-admin-reindex

Composer 安装命令:

composer require haroone/module-admin-reindex

包简介

Adds secure background reindexing with progress to Magento 2 Index Management.

README 文档

README

Haroone Agency

Admin Reindex for Magento 2

Run selected Magento indexers from the native Index Management grid, in the background, with live progress.

An open-source Magento extension by Haroone Agency.

CI MIT License

Install · Run a reindex · Permissions · Support

Demo

Selecting Magento indexers and opening the background reindex progress popup

The popup opens immediately while Magento's native message queue begins processing the selected indexers in the background.

Run a reindex

  1. Open System > Tools > Index Management.
  2. Select one or more indexers, or use Magento's Select All control.
  3. Choose Reindex from the existing Actions dropdown and confirm.
  4. Watch successful, running, skipped, failed, and remaining indexers in the progress popup.
  5. Leave the page safely, or close the completed popup to refresh the grid statuses and timestamps.

Reindex action in Magento Index Management

The admin request only schedules the work. Magento's message queue executes each selected indexer in the background, so closing the popup or leaving Index Management does not stop the job.

Why use it?

Magento provides the indexer commands on the server, but it does not provide a native admin action for running selected indexers. This extension adds that missing action without replacing the core grid or building a separate admin page.

  • Adds Reindex to Magento's existing Index Management action list
  • Opens progress immediately without waiting for a full reindex request
  • Continues processing after the administrator leaves the page
  • Shows live totals and clear per-indexer results
  • Uses Magento Bulk Operations, Message Queue, ACL, locking, cron runner, and indexer APIs
  • Skips an indexer when Magento already reports it as working
  • Logs complete exceptions while showing safe messages in the admin
  • Adds no custom database tables, custom cron job, configuration page, or frontend code

Requirements

Magento release Supported PHP versions CI test version
2.4.4 8.1 2.4.4-p13 / PHP 8.1
2.4.5 8.1 2.4.5-p14 / PHP 8.1
2.4.6 8.1, 8.2 2.4.6-p15 / PHP 8.2
2.4.7 8.2, 8.3 2.4.7-p10 / PHP 8.3
2.4.8 8.3, 8.4 2.4.8-p5 / PHP 8.4
2.4.9 8.4, 8.5 2.4.9 / PHP 8.5

The module supports Magento Open Source and Adobe Commerce. CI installs the latest publicly available magento/project-community-edition package for each release line; Adobe Commerce extended-support patch numbers can be higher. The compatibility matrix follows Adobe's published system requirements and released versions.

Installation

Composer

Install the stable release from Packagist:

composer require haroone/module-admin-reindex:^1.0
php bin/magento module:enable Haroone_AdminReindex
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:clean

Do not skip setup:upgrade. Magento registers the module's MySQL queue destination during recurring setup; without it, jobs can appear as scheduled but never start.

Manual installation

Copy the repository contents to:

app/code/Haroone/AdminReindex

Then run:

php bin/magento module:enable Haroone_AdminReindex
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:clean

Run php bin/magento setup:static-content:deploy -f as part of the normal deployment flow when the store is in production mode. The progress popup includes small admin JavaScript and CSS files.

Queue requirement

Magento's consumers cron group must be running. A normal Magento cron installation includes the core consumer runner. A dedicated process manager can run the module consumer instead:

php bin/magento queue:consumers:start haroone.adminreindex.indexer

If no consumer is running, the job remains queued and the popup shows that it is waiting. The extension deliberately does not start operating-system processes from an admin request.

Behavior and scope

Each selection runs the full reindexAll() operation for that indexer. It does not reindex a specific database table, product, category, or row.

The extension does not change:

  • Indexer modes
  • PHP memory or execution time limits
  • Magento cache state
  • Store configuration

Magento's existing yellow One or more indexers are invalid notification already tells administrators when reindexing is required. This extension reuses that core behavior instead of adding a competing notification system.

Core Magento features reused

  • Index Management grid and Select All
  • IndexerRegistry and indexer working state
  • Native Bulk Operations persistence and history
  • Message Queue and the Magento consumer cron group
  • Magento Lock Manager for sequential module jobs
  • Invalid-indexer system notification
  • Admin modal, translations, and non-JavaScript form fallback

Administrators with Magento's Bulk Actions permission can also see jobs in the native Bulk Actions history and system-message area.

Permissions

The extension adds Reindex Data beneath Index Management in Magento ACL. Grant it under System > Permissions > User Roles > Role Resources.

Users without this permission cannot schedule jobs, request progress, or see the Reindex action. Progress data is restricted to the admin user who created the bulk job.

Failure handling

  • An indexer already marked as working is skipped.
  • One failed indexer does not prevent later queued indexers from running.
  • The popup exposes only safe summaries.
  • Full exceptions are written to Magento logs with the indexer ID.
  • A global Magento lock keeps module-created reindex operations sequential, even with multiple consumer processes.

Security

  • POST-only scheduling endpoint with Magento form-key validation
  • GET-only progress endpoint
  • Dedicated ACL permission on both endpoints
  • Strict indexer ID and bulk UUID validation
  • Bulk-job ownership validation
  • Escaped PHP output and result text inserted through jQuery text nodes

Please report security issues privately through Haroone Agency contact instead of opening a public issue.

Support and Magento services

This extension is built and maintained by Haroone Agency, a Magento-focused ecommerce engineering company working on custom modules, checkout fixes, migrations, performance, and production support.

License

Released under the MIT License. Copyright © 2026 Haroone.com.

haroone/module-admin-reindex 适用场景与选型建议

haroone/module-admin-reindex 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 07 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「admin」 「background」 「indexer」 「magento2」 「reindex」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 haroone/module-admin-reindex 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 haroone/module-admin-reindex 我们能提供哪些服务?
定制开发 / 二次开发

基于 haroone/module-admin-reindex 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 15
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-15