Magento Enterprise 1.13+ 使用“部分索引”进程,该进程作为 Magento cron 作业的一部分在后台运行。我目前正在努力了解这个过程正在做什么。
我了解部分索引器的工作原理是跟踪实体以通过数据库中的“变更日志”表(catalog_category_flat_cl
、catalog_category_product_cat_cl
等)重新编制索引,然后在 cron 运行时重新索引这些特定项目。
Magento cron 当前正在我的服务器上运行(同一个 cron 进程已经运行了大约 3 个小时)。 cron_schedule
表表明 enterprise_refresh_index
正在进行中,并与上述 cron 进程同时启动。
但是,当我计算更改日志表中的行时,值总是相同的;这些表中的行数没有减少(如果部分索引器正在处理它们,我会期望什么?)。 n98-magerun 工具列出了索引,但当前没有一个正在处理:
$ n98-magerun.phar index:list
+------------------------------+-----------------+------+
| code | status | time |
+------------------------------+-----------------+------+
| catalog_product_attribute | require_reindex | 28m |
| catalog_product_price | pending | 0 |
| catalog_url | pending | 0 |
| catalog_product_flat | pending | 0 |
| catalog_category_flat | pending | 0 |
| catalog_category_product | pending | 0 |
| catalogsearch_fulltext | pending | 0 |
| cataloginventory_stock | pending | 0 |
| tag_summary | require_reindex | 1s |
| url_redirect | pending | 0 |
| catalog_url_category | pending | 0 |
| catalog_url_product | pending | 0 |
| catalog_category_product_cat | pending | 0 |
| targetrule | pending | 0 |
+------------------------------+-----------------+------+
var/locks
目录似乎对每个索引器都有事件锁,这没有意义(当索引进程完成时,锁文件应该被删除吗?:
$ ls -lah
total 64K
drwxrws--- 2 www-data www-data 4.0K Sep 23 22:56 .
drwxrws--- 8 www-data www-data 4.0K Sep 10 07:12 ..
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_10.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_11.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_12.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_13.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_14.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 23 22:20 index_process_1.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 23 17:53 index_process_2.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_3.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_4.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_5.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_6.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_7.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_8.lock
-rw-rw-r-- 1 www-data www-data 31 Sep 24 00:10 index_process_9.lock
任何关于我如何能更多地了解部分索引过程、它目前正在做什么、它取得了什么进展/还有什么有待索引的建议都将不胜感激!
最佳答案
还有一些其他的表,查看enterprise_mview_*
。
有一段时间没有使用企业索引器,但上次我为控制台配置了 XDebug 并分析了它的作用。或者到处都是 Mage::log()
,但我不建议在真正的调试器上使用它。
希望它能让您走上正轨。
关于php - Magento 部分索引过程的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26015563/