"Из-за большой нагрузки последняя операция рабочего процесса была поставлена в очередь" -> Как просмотреть очередь?
Я знаю, что задание таймера Sharepoint (OWSTIMER) поставлено в очередь на выполнение рабочего процесса - я просто хочу увидеть эту очередь! Я хочу увидеть, какой рабочий процесс следующий в этой зловещей очереди.
Любой способ проверить очередь рабочего процесса через PowerShell / Консольное приложение / Центр администрирования?
1 ответ
Проект SPTimerJobAdmin http://sptimerjobadmin.codeplex.com/ кажется, обеспечивает то, о чем вы просите, хотя, похоже, он предназначен специально для продукта 2007 года, поэтому я не могу сказать, что он может сделать в 2010 году, но, возможно, он может Направьте вас в правильном направлении, и обновление для 2010 не должно быть слишком сложным, это довольно маленький проект.
Что касается использования C# или PowerShell для запроса заданий таймера, вы, вероятно, можете найти то, что вам нужно, в классе SPFarm (вам нужно будет добавить ссылку на пространство имен Microsoft.SharePoint.Administration или полностью указать имя класса). Вы можете перебирать задания довольно легко:
var farm = Microsoft.SharePoint.Administration.SPFarm.Local;
foreach (var job in farm.TimerService.JobDefinitions)
{
// check what you want from each job
// Typical Properties: Schedule, Title, LastRunTime, TypeName, Status
}
Было бы похоже в PowerShell:
# Load the SharePoint assembly if necessary
PS C:\> [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
PS C:\> $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local
PS C:\> $farm.TimerService.JobDefinitions | select Title,LastRunTime,Status