SPJobDefinition.Execute работает, но не показывает, что он запущен в Central Admin

StackOverflow https://stackoverflow.com/questions/1612933

  •  06-07-2019
  •  | 
  •  

Вопрос

Я использую SPJobDefinition.Execute, чтобы явно запустить задание таймера для небольшого тестирования. Задание выполняется, но время последнего выполнения не изменилось ни в «Статусе задания таймера», ни в «Определениях задания таймера». Поскольку это не выполнялось раньше, его принудительное выполнение даже не отображается в «Статус задания таймера». Я помню, что он обновлял время последнего запуска внутри центрального администратора, когда я в последний раз пытался это сделать. Таким образом, либо что-то сломано, и оно не обновляет статус, либо оно не обновляет статус в соответствии с дизайном, и я ошибаюсь из-за этого в последний раз.

Это было полезно?

Решение

Я обнаружил, что OWSTIMER.exe не завершает выполнение. Я написал консольное приложение, которое выполняло вызов SPJobDefinition.Execute, и оказалось, что Execute не планирует его запуск в тот или иной момент, но фактически загружает dll для задания и запускает его в процессе. Я мог бы предположить, что побочным эффектом этого является то, что он не запускается по расписанию, и поэтому Central Admin не показывает, что он работал.

Другие советы

У меня была похожая проблема, решение состояло в том, чтобы перезапустить службу «Таймер SharePoint 2010» (чтобы перезагрузить библиотеку заданий).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top