TimerJob を使用してリスト内のいくつかのドキュメントの処理をトリガーする SharePoint 2010 アプリを作成しました。タイマーは 1 分ごとにトリガーするように設定されていますが、処理には 1 分以上かかる場合があります。タイマー ジョブの次のトリガーが新しいスレッドを使用して開始されるのか、それとも最初のスレッドが完了するまでタイマー サービスが待機するのか、疑問に思っています。Sharepoint が TimerJobs のスレッドを管理する方法がわかりません。また、関連する情報を実際に見つけることもできません。
TimerJob
私の定義には次のようなものがあるため、これはおそらく問題です。
public override void Execute(Guid contentDbId)
{
try
{
SPWebApplication webApplication = this.Parent as SPWebApplication;
SPContentDatabase contentDb = webApplication.ContentDatabases[contentDbId];
using (SPSite site = contentDb.Sites[0])
{
using (SPWeb web = site.RootWeb)
{
PRManager.TriggerProcessing(web); // ?
}
}
}
catch (Exception)
{
}
}
}
これPRManager.TriggerProcessing()
は明らかに静的メソッドであり、メソッド本体に入るスレッドを一度に 1 つだけに制限するメカニズムが含まれていますが、これらの at-minute-interval 呼び出しが発生した場合に SharePoint が複数のスレッドを作成するかどうか疑問に思っています。オーバーラップを実行します。