Возможный дубликат:
Как заставить TaskScheduler завершиться с ошибкой, когда задача возвращает результат, отличный от 0

У меня запланирована задача Windows, которая запускает консольное приложение (файл .exe), которое я написал. Я поставил задачу повторить попытку через 5 минут до 3 раз в случае сбоя.

Планировщик задач всегда видит задачу как успешно выполненную. Даже когда приложение выдает исключение.

Есть ли способ вернуть что-то из приложения, когда возникает исключение, чтобы сообщить задаче, что оно не выполнено. Например и ExitCode?

Или есть лучший способ настроить задачу, чтобы я мог сказать, что произошла ошибка?

1 ответ1

0

Если возможно, вы можете попытаться настроить другую запланированную задачу через несколько минут, которая проверит, дала ли предыдущая задача желаемый эффект (проверяя, правильно ли работает X, стоит ли переменная X того, чего вы хотите, или нет ли файла X). последняя модификация - сегодня и т. д.) и, если нет, выполните ту же задачу, что и первая.

Я предполагаю, что функция "повторить попытку" - это "если планировщик задач не смог запустить задачу". Если это так, и программа, которую он запустил, прослушивалась, "это не его проблема". Вы просите его запустить, и он запускается, точка. Вот так я это понимаю.

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

Если то, что вы делаете (например, загружаете файл), не может быть проверено напрямую, тогда вы можете попытаться сообщить приложению, которое вы запускаете, если это возможно, для регистрации каждого из его результатов или дат для успешных операций.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .