2009-07-05 9 views
2

開発用コンピュータで検索サービスを実行しているため、インデクサー(.exeファイル)を実行して1〜5分ごとにサービスを再起動する必要がありますスフィンクス検索)。 Windowsでこれを行うにはどうすればいいですか?私の考えは、ウィンドウタスクスケジューラを介してバッチファイルを実行することですが、あなたは何をしていますか?数分ごとに検索エンジンのインデックスを再作成する

+0

adamcroft:ちょうど好奇心のうち 、それは窓の下スフィンクス検索デーモンを再起動する必要が本当にありますか?私たちはLinuxサーバ上でsphinxを使用しています。何も再起動する必要はありません。インデクサーは新しい索引ファイルを自動的に生成し、古い索引ファイルを一度終了して回転させます。 – Hans

+0

はい、何らかの理由でsearchdを再起動しないと非常に奇妙なエラーが発生します。私は突然、まだ到達していないドキュメントIDで結果を得るようになります。 (例えば、PK上の自動インクリメントは70で、200のdocidを持つ検索結果が得られます)。任意のヒント? –

答えて

1

Windowsの場合はWindows Task Schedulerを使用してください。 Linuxでは、cronを使用してください。

それ以外の場合は、指定した間隔で無限ループでスリープし、間隔が終了すると再インデックスするデーモンプロセスを作成できます。それから再び、それは眠り、プロセスを続けるでしょう。 (Perlで)例えば

:私は、タスクスケジューラに建てられたの代替として極めて有用pycronを見つけ

#!perl 

use strict; 
use warnings; 

use Proc::Daemon; 

Proc::Daemon::Init; 

my $minutes = 5; 
my $seconds = 60 * $minutes; 

while (1) { 
    sleep($seconds); 
    # Do necessary work 
}