2014-02-10 2 views
0

Rails 3.2 및 Thinking Sphinx 3.0.6 사용. 내 프로덕션 환경에서 실행중인 프로세스를 확인하면 다음과 같이 표시됩니다.Sphinx에서 실행중인 2 개의 프로세스

[email protected]:~$ 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 

스핑크스에는 2 개의 프로세스가 있습니다. 이 행동이 맞습니까?

ts:stop을 실행할 때마다 멈추고 스핑크스를 중지하기 위해 프로세스 중 하나를 수동으로 종료해야합니다. 이것이 두 프로세스에 의해 발생한 것인지 확실하지 않습니다. 내 thinking_sphinx.yml

업데이트 1

: - TS V3 (그래서, 마스터 과정과 적어도 하나의 아이를보고있는) 스핑크스의 스레드 근로자를 사용

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 

답변

2

두 프로세스가 정상입니다.

ts : 중지 문제는 - 이것이 Capistrano를 통한 것이라고 생각하십니까? 현재 배포 된 릴리스에 대한 구성 파일이 없기 때문일 수 있습니다. 아마도 configuration_file 설정을 사용하여 파일 위치를 공유 디렉토리의 어딘가에 바꿔야 할 것입니다.

이 내용은 the deployment documentation에 포함되어 있습니다 (약 한 달 전에 추가되었습니다). YML 설정에 관해서는

-이 TS v3에서 indices_location로 대체 된 것대로, searchd_file_path 제거 할 수 있으며, config_fileconfiguration_file을해야합니다.

+0

'ts : stop'은 라이브 서버에서 직접 수행되지만, Capistrano에서는 수행되지 않습니다. – Victor

+1

오른쪽 - 구성 파일이 있어야하는 위치에 있습니까? 카피스트라 노는 단지 TS를 부른다. – pat

+0

당신은 맞습니다.'.conf' 파일이 없습니다. 질문의 'thinking_sphinx.yml'을 참조하십시오. 'rake ts : configure RAILS_ENV = production'을 실행하면'current' 경로에는'.conf'가 생성되지만'shared'에는 생성되지 않습니다. 왜 그래야만하지? – Victor