干草堆';s RealTimeSearchIndex导致django挂起数据条目

干草堆';s RealTimeSearchIndex导致django挂起数据条目,django,xapian,rhel5,django-haystack,Django,Xapian,Rhel5,Django Haystack,我使用django haystack和xapian后端,对模型数据进行实时索引(haystack.indexes.RealTimeSearchIndexing),它在我的Ubuntu服务器上运行良好。然而,当我在RHEL5服务器上部署应用程序时,它会导致django挂起数据输入 如果我切换到标准的SearchIndex,一切都很好 手动运行/manage.py rebuild\u index也可以正常工作 这两种设置之间的主要区别是Python版本(2.4.3 vs 2.6.4)和xapian版

我使用django haystack和xapian后端,对模型数据进行实时索引(
haystack.indexes.RealTimeSearchIndexing
),它在我的Ubuntu服务器上运行良好。然而,当我在RHEL5服务器上部署应用程序时,它会导致django挂起数据输入

如果我切换到标准的
SearchIndex
,一切都很好

手动运行
/manage.py rebuild\u index
也可以正常工作

这两种设置之间的主要区别是Python版本(2.4.3 vs 2.6.4)和xapian版本(1.0.4-1 vs 1.0.15)

对可能出现的问题有什么建议吗

日志中没有什么有趣的内容,我尝试过不同的数据库(mysql、sqlite3)和部署方法(mod_python、wsgi),但还没有成功


我已经注意到haystack文档中的说明,
RealTimeSearchIndex
只能通过Solr后端优雅地处理,但是我运行的站点流量非常低,只有偶尔的写操作,因此我对写操作中的一些CPU开销感到满意。

请注意以下作者的观点:

由于Xapian不支持同时进行的可写数据库连接,因此强烈建议用户在使用RealTimeSearchIndex设置WSGIDaemonProcess PROCESS=1或使用其他方法确保不会多次尝试写入索引时要小心。或者,使用SearchIndex和cronjob以设置的时间间隔重新索引内容(这里可以找到示例cronjob),或者派生您自己的SearchIndex来实现其他形式的保持索引最新的功能


从源代码安装xapian核心和xapian绑定解决了这个问题


我最初使用的是提供的RPM软件包。

谢谢普罗米修斯。不幸的是,在我的例子中,wsgidaemonprocesss=1似乎没有帮助。不管怎样,把它提出来是+1。可能会帮助别人。