任务计划程序定期停止运行C#控制台应用程序

3
我有一个任务调度器,每分钟运行一个C#控制台应用程序。它通过一个.bat文件运行.application文件,在一段时间内成功运行,但后来完全停止了。
卸载/重新安装我的控制台应用程序并不能解决问题,而任务调度器显示批处理文件已经成功执行。手动运行程序也没有问题。
我的问题是:
1.如何通过任务调度器再次运行此任务?我已尝试删除和重新创建任务,卸载/重新安装应用程序。
2.在应用程序停止工作的时间附近有一个预定的备份任务。卷影副本未启用。这会影响我的应用程序吗?为什么?

当你说停止时,你是指任务调度程序无法启动进程,还是进程失败了?如果是后者,退出代码是什么?你能在应用程序中包含日志记录以获取一些线索吗?你的Windows事件日志中有任何信息吗? - Myles McDonnell
备份可能与此有关。你的应用程序是做什么的?你的应用程序使用文件IO吗? - Morten Anderson
1
你需要找出更多信息。在Windows事件日志中查找消息。禁用备份任务并描述其作用。实现AppDomain.CurrentDomain.UnhandledException。 - Hans Passant
@MylesMcDonnell 进程已启动并以退出代码0启动应用程序。我已经通过NLog在我的应用程序中实现了日志记录,但是在此期间没有写入任何内容到日志文件中。 - Nick
@MortenAnderson 这个应用程序是一个电子邮件、短信和通用工作流调度器。它是一个控制台应用程序,执行常规任务。我可以禁用备份任务,但无法让应用程序再次作为计划任务运行。 - Nick
@Nick,如果你在进程开始处放置一个Debugger.Launch(),你就可以附加调试器并逐步执行,试试看。 - Myles McDonnell
2个回答

0

尽管得到了帮助,我仍然没有成功地分离出这个问题的原因。

我已经使用Quartz.NET重新开发了我的调度器,现在它作为Windows服务运行。


0
在任务计划程序中,查看“设置”选项卡。您会发现一个选项:“如果任务失败,则重新启动每个”。默认情况下(未选中),如果您的任务失败,则不会再次运行。您可以检查任务历史记录以查看是否已失败。无论如何,听起来您希望即使上次运行失败,也要再次运行。
这是您想更改的选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接