Запуск SCHTasks за большой промежуток времени дает странные результаты - PullRequest
1 голос
/ 29 февраля 2012

У нас есть служба Windows, которая была разработана недавно, которая использует много запланированных задач на удаленном сервере.Это может показаться плохой идеей, и, возможно, так оно и есть, но, поскольку мы работаем с другой компанией, которая будет работать только так, чтобы активировать свою систему, у нас на самом деле нет другого выбора, чем пойти на это.

Чтобы это произошло, нам сказали использовать команду SCHTASKS, которая может легко запустить службу на другом удаленном сервере.Затем мы сохраняем результаты этого вызова в журнале.Обычно мы получаем это:

2012-02-06 09:40:55 : SUCCESS: Attempted to run the scheduled task "W_PALREI".

Это нормальное сообщение, которое мы получаем, когда все хорошо.Когда-нибудь мы получим это:

2012-02-20 15:53:29 : INFO: scheduled task "W_PALMO2" is currently running.
SUCCESS: Attempted to run the scheduled task "W_PALMO2".

Это все еще ничего серьезного, поскольку мы знаем, что задача может занять некоторое время, и мы знаем, что она скоро станет доступной.Иногда мы получаем это:

2012-02-13 08:50:03 : INFO: Scheduled task "W_PALMO2" has already been disabled.

Это не хорошо, но мы знаем, что это означает, что кто-то отключил задачи на другом сервере, чтобы мы могли действовать соответственно.

Вот где это становится странным.Мы отмечаем, что через некоторое время (около 2 недель непрерывного выполнения) задачи не будут отвечать.Каждый раз, когда мы проверяли, казалось, что все работает нормально (служба работала, и мы могли видеть содержимое нашей базы данных, над которым работали), но задачи все равно не запускались.Когда мы посмотрели файл журнала, мы нашли это:

2012-02-22 15:50:15 : ERROR: Class does not exist.

И через некоторое время мы получили это сообщение:

2012-02-22 15:21:15 : ERROR: Not enough storage is available to process this command.

Затем появляется другое сообщение и так далее.Через некоторое время мы просто получаем это

2012-02-22 16:32:38 : 

Это означает, что либо Process.Start больше не получает выход, либо SCHTASKS больше не отправляет его, либо процесс по какой-либо причине прекращает вызываться.Я посмотрел в Google, но не могу найти что-нибудь о том, что SCHTASKS выдаёт это, так что я подозреваю, что может возникнуть проблема с process.start

Кто-нибудь когда-нибудь получал это и как это исправить?Или это запуск процесса и есть ли другой способ правильно запустить задачу с удаленного сервера, при условии, что у вас есть учетные данные ...?

Любые другие, которые мы могли бы проверить на сервере для диагностикиэта проблема ?Спасибо,

1 Ответ

1 голос
/ 15 марта 2012

Или это процесс запуска и есть ли другой способ правильно запустить задачу с удаленного сервера, если у вас есть учетные данные ...?

Существует несколько способов удаленного запуска процессов ... На ум приходит несколько вариантов:

  • Удаленное выполнение скриптов Power Shell. Однако, если компания предлагает вам автоматизировать запланированные задачи из удаленного местоположения, не велики шансы, что они будут опытными и / или захотят настроить это для выполнения.
  • Как именно выглядит ваш вызов Process.Start? Могут быть и другие способы структурировать этот вызов.

Кто-то должен сделать еще несколько диагностик на удаленной машине. Или просто придумайте план по включению и выключению машины каждые n дней.

Где посмотреть:

  • Журнал событий. Посмотрите, не регистрируются ли там какие-либо ошибки.
  • PerfMon. Отслеживайте использование памяти, чтобы убедиться, что память не очищается.
...