gpt4 book ai didi

ruby-on-rails - 如何确保 Sphinx 守护程序运行?

转载 作者:数据小太阳 更新时间:2023-10-29 08:34:57 28 4
gpt4 key购买 nike

我正在使用 CentOS 5.3、Apache 和 Phusion Passenger (mod_rails) 设置生产服务器。我有一个使用 Sphinx 搜索引擎和 Thinking Sphinx gem 的应用程序。

根据 the Thinking Sphinx docs...

If you actually want to search against the indexed data, then you’ll need Sphinx’s searchd daemon to be running. This can be controlled using the following tasks:

rake thinking_sphinx:start
rake ts:start
rake thinking_sphinx:stop
rake ts:stop

确保这在生产中发生的最佳方法是什么?我可以部署我的应用程序,然后手动运行 rake thinking_sphinx:start,但我喜欢设置一些东西,这样如果我必须弹回服务器,一切都会恢复。

我应该在初始化程序中调用 Rake 任务吗?或者 rc.local 里的东西?

最佳答案

rc.local 是一个好的开始,但还不够。我会将 is 与 monit 规则配对以确保它正在运行,更重要的是......

Sphinx 需要一个完整的重建索引来使所有最新和最好的可用。 Thinking sphinx 网站上有一些关于 delta indexing 的 doco ,但如果您的索引很小,每小时重新索引一次就可以解决问题,您不需要增量索引。

我每小时运行一次以处理此问题:

0 * * * * cd /var/rails/my_site/current/ && RAILS_ENV=production /usr/bin/rake ts:rebuild

注意:对于部署,我将使用内置的 thinking sphinx capistrano 任务:

在你的 Capfile 添加

require 'thinking_sphinx/deploy/capistrano'

我曾经在 cap 任务中链接重新索引但停止了,因为它真的很慢,当我进行模式更改时,我会记得运行它或等待每小时 cron 作业修复它。

关于ruby-on-rails - 如何确保 Sphinx 守护程序运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777794/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com