Magento Partial Index流程的可见性

时间:2014-09-24 11:17:09

标签: php mysql magento indexing cron

Magento Enterprise 1.13+使用“部分索引”进程,该进程作为Magento cron作业的一部分在后台运行。我目前正在努力了解这个过程正在做什么。

我理解部分索引器的工作方式是跟踪实体通过数据库中的'changelog'表重新索引(catalog_category_flat_clcatalog_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

有关我如何能够更多地了解部分索引流程,目前正在做什么以及取得了哪些进展/尚未编制索引的任何建议将非常感谢!

1 个答案:

答案 0 :(得分:0)

还有一些其他表,请检查Can not redeclare class error。 暂时没有与企业索引器一起工作,但上次我为控制台配置了XDebug并分析了它的作用。或者只是enterprise_mview_*到处都是,但我不推荐它在真正的调试器上。

希望它能让你走上正轨。