首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除Windows计划任务未运行的故障?

问如何排除Windows计划任务未运行的故障?
EN

Stack Overflow用户
提问于 2009-05-14 20:44:21
回答 8查看 77.6K关注 0票数 13

在部署我们的.net应用程序的过程中,我在服务器上设置了大约20个计划任务,所有这些任务基本上都做着相同的事情:调用一个从SQL数据库中提取数据并将其发布到web服务的小型.net控制台应用程序。每个任务调用应用程序的单独副本,每个副本在其配置文件中具有不同的查找ID值。

除了两个任务之外,所有这些任务每晚都能可靠地运行。其中两个任务似乎偶尔会停止运行,目前原因尚不清楚。当它们停止运行时,计划任务界面将正确显示其上次运行日期,该日期比在计划时间继续运行的其他任务晚一天或更长时间。停止运行的任务不会自己再次运行,尽管指示为每晚运行。事件日志或计划任务界面本身中没有记录任何错误。这是对我们来说最奇怪的部分:如果我手动启动计划任务,它运行得很好,它调用.net控制台应用程序,一切都结束了,没有异常。然后,它继续在预定的时间运行,一次运行几天或几周,最终失败,似乎出乎意料地失败。似乎这两个任务总是在同一个晚上开始失败。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-14 20:48:37

有一个"Last Result“列,它应该给你一个与任务本身运行相关的代码(它不会有任何类型的异常数据)。0表示任务已完成且无错误。您可以查找的任何其他内容,并了解任务无法启动的原因。如果任务看起来仍然没有运行,但您仍然看到Last Result为0,这意味着您的代码中有一些损坏,但它正在优雅地退出。

票数 10
EN

Stack Overflow用户

发布于 2014-12-19 07:20:56

您是否设置了"Start in“属性?

如果这些.NET控制台应用程序需要app.config或位于其路径中的某些文件,则必须将"Start in“属性设置为"c:\your\app\ path \”,否则它们会像在系统目录中一样启动,并且无法找到所需的文件!

票数 5
EN

Stack Overflow用户

发布于 2013-09-15 23:52:09

Taskscheduler假定64位系统上的应用程序为64位。如果它是32位的,从32位命令行启动它,例如,如果你想运行c:\program files (x86)\Myprogram\Program.exe,告诉taskscheduler启动:

  • %systemroot%\Syswow64\cmd.exe files "c:\program files (x86)\Myprogram\Program.exe"

这迫使它从32位命令提示符启动,因此使用32位仿真。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/865653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档