Magento Enterprise 1.13+使用“部分索引”进程,该进程作为Magento cron作业的一部分在后台运行。我目前正在努力了解这个过程正在做什么。
我理解部分索引器的工作方式是跟踪实体通过数据库中的'changelog'表重新索引(catalog_category_flat_cl
,catalog_category_product_cat_cl
等),然后在cron时重新索引这些特定项目运行。
Magento cron目前正在我的服务器上运行(相同的cron进程已经运行了大约3个小时)。 cron_schedule
表表明enterprise_refresh_index
正在进行中,并且在上述cron流程启动的同时启动。
但是,当我计算changelog表中的行时,值总是相同的;这些表中的行数没有减少(如果部分索引器正在处理它们,我期望它?)。 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
有关我如何能够更多地了解部分索引流程,目前正在做什么以及取得了哪些进展/尚未编制索引的任何建议将非常感谢!
答案 0 :(得分:0)
还有一些其他表,请检查Can not redeclare class error
。
暂时没有与企业索引器一起工作,但上次我为控制台配置了XDebug并分析了它的作用。或者只是enterprise_mview_*
到处都是,但我不推荐它在真正的调试器上。
希望它能让你走上正轨。