在Sphinx上运行2个进程

时间:2014-02-10 02:54:48

标签: ruby-on-rails sphinx thinking-sphinx

使用Rails 3.2和思考Sphinx 3.0.6。当我检查在我的生产环境中运行的进程时,我得到了这个:

deployer@vps:~$ ps aux | grep search
deployer   401  0.0  0.0 102340  1588 ?        S    10:38   0:00 searchd --pidfile --config /home/deployer/abc/releases/1/config/production.sphinx.conf
deployer   402 47.0  0.7 248984 29944 ?        Sl   10:38   0:12 searchd --pidfile --config /home/deployer/abc/releases/1/config/production.sphinx.conf

Sphinx有2个进程。这种行为是对的吗?

每当我运行ts:stop时,它都会挂起,我必须手动终止其中一个进程才能停止Sphinx。我不确定这是否是由这两个过程引起的。

更新1

我的thinking_sphinx.yml

production:
  pid_file: /home/deployer/abc/shared/pids/searchd.pid
  indices_location: /home/deployer/abc/shared/db/sphinx
  searchd_file_path: /home/deployer/abc/shared/db/sphinx
  config_file: /home/deployer/abc/shared/config/production.sphinx.conf
  mysql41: 9312
  mem_limit: 512M

1 个答案:

答案 0 :(得分:2)

两个过程是正常的 - TS v3使用Sphinx的线程工作者(因此,您将看到主进程和至少一个子进程)。

关于ts:停止问题 - 我认为这是通过Capistrano?这可能是因为当前部署的版本不存在配置文件。您应该将文件位置(使用configuration_file设置)更改为共享目录中的某个位置。

这在the deployment documentation中有所涉及(但仅在一个月前添加)。

对于yml设置 - 您可以删除searchd_file_path,因为它已被TS v3中的indices_location替换,而config_file应为configuration_file