问题 停止Magento索引过程


如何停止索引过程?我已经导入了15,000种产品并开始编制索引,但现在它仍然处理“类别搜索索引”。它已经停留了两天处理,如何停止索引过程?

任何帮助将不胜感激,谢谢你提前。


7726
2017-11-03 09:33


起源

您使用什么操作系统? - Jonathan Day


答案:


当Magento开始为“索引管理”列表中的每个项目编制索引时,它将“index_process”表的相关整个“status”字段设置为“working”。如果在索引过程中发生错误,脚本将停止并且状态仍为“正常”。因此,“处理”图像会在“索引管理”页面上挂起。当然,没有办法确保索引过程仍然没有运行,但检查服务器的进程列表(或残酷的重启或你的apache)。

我知道解决此问题的唯一智能方法是找出导致此错误的原因并进行修复。您可以通过从shell运行索引并查找输出来完成此操作。这是命令:

php shell/indexer.php reindexall

如果您没有SSH访问权限,也可以尝试从服务器的错误日志中找到此错误。

如果您只想删除“处理”图像,则可以运行以下MYSQL查询:

UPDATE `index_process` SET `status` = 'pending' WHERE `status` = 'working'

但是这不能解决问题,只能隐藏输出。


10
2018-05-07 09:13



有趣的阅​​读!我们一直在运行一个超过12小时的索引流程,并表示它仍然在前端进行处理,但我们怀疑它是否仍在运行! - Vince Pettit


可能最简单的方法是重启Apache。它将优雅地关闭任何打开的访问者连接,并应终止PHP进程。

---------编辑----------

数据库中有一组看起来与索引相关的表, index_process 和 index_process_event。您可以尝试将相关记录的状态恢复为待处理状态,然后重试......


3
2017-11-03 10:40



我重新启动了apache但仍然在目录搜索索引上显示“处理” - jarus
它实际上可能不是处理但是停留在该图像上。我认为在索引挂断之前我已经发生过这种情况。我假设你想要运行索引,所以你不妨再试一次。 - dan.codes
为了您自己的理智,我建议在Magento的shell目录中使用indexer.php shell php脚本。如果有错误,它将显示它遇到的错误(很可能你会发现某种表锁定问题)。丹是对的。当索引过程失败时,它会在实际不存在时陷入处理状态。 - Josh Pennington


请记住,如果您在不同于当前使用的用户(www-data vs mySshLoginUser)下运行magento,您可能会对锁定文件的权限问题开放。如果您手动运行shell索引器,那些锁定文件将属于您的ssh用户。

在最坏的情况下,删除var / locks / *中的那些锁定文件并尝试它。


1
2017-12-19 22:45