如何停止索引过程?我已经导入了15,000种产品并开始编制索引,但现在它仍然处理“类别搜索索引”。它已经停留了两天处理,如何停止索引过程?
任何帮助将不胜感激,谢谢你提前。
如何停止索引过程?我已经导入了15,000种产品并开始编制索引,但现在它仍然处理“类别搜索索引”。它已经停留了两天处理,如何停止索引过程?
任何帮助将不胜感激,谢谢你提前。
当Magento开始为“索引管理”列表中的每个项目编制索引时,它将“index_process”表的相关整个“status”字段设置为“working”。如果在索引过程中发生错误,脚本将停止并且状态仍为“正常”。因此,“处理”图像会在“索引管理”页面上挂起。当然,没有办法确保索引过程仍然没有运行,但检查服务器的进程列表(或残酷的重启或你的apache)。
我知道解决此问题的唯一智能方法是找出导致此错误的原因并进行修复。您可以通过从shell运行索引并查找输出来完成此操作。这是命令:
php shell/indexer.php reindexall
如果您没有SSH访问权限,也可以尝试从服务器的错误日志中找到此错误。
如果您只想删除“处理”图像,则可以运行以下MYSQL查询:
UPDATE `index_process` SET `status` = 'pending' WHERE `status` = 'working'
但是这不能解决问题,只能隐藏输出。
可能最简单的方法是重启Apache。它将优雅地关闭任何打开的访问者连接,并应终止PHP进程。
---------编辑----------
数据库中有一组看起来与索引相关的表, index_process
和 index_process_event
。您可以尝试将相关记录的状态恢复为待处理状态,然后重试......
请记住,如果您在不同于当前使用的用户(www-data vs mySshLoginUser)下运行magento,您可能会对锁定文件的权限问题开放。如果您手动运行shell索引器,那些锁定文件将属于您的ssh用户。
在最坏的情况下,删除var / locks / *中的那些锁定文件并尝试它。