控制台应用程序失败时任务计划程序重试吗?

控制台应用程序失败时任务计划程序重试吗?

可能重复:
当任务返回结果不为 0 时,如何使 TaskScheduler 失败

我安排了一个 Windows 任务,运行我编写的控制台应用程序(.exe 文件)。我已将任务设置为在失败后 5 分钟重试最多 3 次。

任务调度程序始终认为任务已成功完成。即使应用程序抛出异常。

当出现异常时,是否有办法从应用程序返回某些内容以告知任务失败。例如 ExitCode?

或者,有没有更好的方法来设置任务,以便我可以告诉它出现了错误?

答案1

如果可能的话,您可以尝试设置另一个计划任务,几分钟后,检查前一个任务是否达到了预期的效果(检查 X 是否正确运行,X 变量是否值得您想要,X 文件的最后修改是否是今天,等等),如果没有,则执行与第一个相同的任务。

我猜想“失败时重试”功能是“如果任务调度程序无法启动任务”。如果确实如此,并且它启动的程序有缺陷,“那不是它的问题”。你要求它启动,它就会启动,就这样。这就是我的理解。

因此我认为最好的方法是设置一个或多个将运行检查的附加任务。

如果您正在做的事情(比如上传文件)无法直接检查,那么您可以尝试告诉您启动的应用程序(如果可能)记录其每个结果或成功操作的日期。

如果不可能,也许还有其他应用程序可以监控程序并输出其功能。您也可以通过第一个任务启动该应用程序。这很复杂,但是。:/

相关内容