トップ回答者
クロールに問題が発生した時のサービス・プロセス停止方法

質問
-
SharePoint Server 2007を使用しています
LotusNotesクロール実施中にクロールが途中停止してしまう問題が発生しています。
そのためクロールを監視するプログラムを作成して、クロールに問題が発生した時
クロールの停止、サービス再起動をプログラムしようと思ってます。手動で実施している作業は以下の通りです。
1.Windows SharePoint Services Search停止する。 (すぐに停止します)
2.Office SharePoint Server Searchを停止する。 (停止処理中が続きエラーがでる)
3.残っているプロセス「mssdmn、mssearch」をkillする
4.上記、1と2を実施して再起動する。これをプログラムで対応した場合、上記2の場所で
Office SharePoint Server Searchが停止中のままになってしまいます。
(タイムアウトの処理を入れればいいのでしょうが。まだ実施していません)
その後、mssearchのプロセスとmssdmnプロセスを停止すれば、
Office SharePoint Server Searchが停止します。どういった順序で停止するのがベストなのでしょうか?他にも確実に停止させる方法があればアドバイス頂けますか?
staticvoid Main(string[] args)
{
StopSPS();
}
privatestatic void StopSPS()
{
StopService("Windows SharePoint Services Search");
StopService("Office SharePoint Server Search");
string[] pros = { "mssdmn", "mssearch", "nnotesmm" };
foreach (string pro in pros)
{
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcessesByName(pro);
foreach (System.Diagnostics.Process p in ps)
{
Console.WriteLine(string.Format("{0} : {1}", p.ProcessName,p.StartTime));
//Console.ReadKey();
//プロセスを強制終了
p.Kill();
//プロセスが停止するまで待機する
p.WaitForExit();
}
}
}
privatestatic void StopService(string service)
{
System.ServiceProcess.ServiceController sc =new System.ServiceProcess.ServiceController(service);
if (sc.CanStop)
//サービスを停止する
sc.Stop();
//サービスが停止するまで待機する
sc.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Stopped);
}2010年4月16日 21:29
回答
-
LotusNotesクロールにノウハウが無いので詳しくはわかりませんが、、、
Notesクロールは、ノーツクライアント経由で実施してたと思うので、強制終了を考えるのであれば、ノーツクライアントも一緒に考える必要があると思います。
未確認ですが、、何かしらのプロセスが思うので、、、あと、「Windows SharePoint Services Search」はNotesのクロールに無関係なので再起動は不要に思います。
+どの文書でエラーになって停止しているかの追及は必要に思います。
いつまでもクロールされない文書が残る可能性があるためです。2010年4月20日 4:44
すべての返信
-
LotusNotesクロールにノウハウが無いので詳しくはわかりませんが、、、
Notesクロールは、ノーツクライアント経由で実施してたと思うので、強制終了を考えるのであれば、ノーツクライアントも一緒に考える必要があると思います。
未確認ですが、、何かしらのプロセスが思うので、、、あと、「Windows SharePoint Services Search」はNotesのクロールに無関係なので再起動は不要に思います。
+どの文書でエラーになって停止しているかの追及は必要に思います。
いつまでもクロールされない文書が残る可能性があるためです。2010年4月20日 4:44 -
yama chanさんありがとうございます。
Windows SharePoint Services Searchの停止はMOSSでは全く使ってないのでしょうか?
そのようにSIから聞いていたのですが、念のため落とした方がいいのかなと思っておりました。
Notesのクロールで失敗する箇所は特定の文書というわけではなさそうです。
50個ほどDBがあり、その中でも3万文書程あるノーツのデータベースでよくエラーで停止しているようです。
あとNotesのクロールは複数データベースの同時クロールでも高確率で失敗します。おの問題で日々頭を悩まされてます。。
2010年4月20日 21:02