程序放在“任务计划程序”出错后无法再自动启动

leon51 2018-11-16 11:38:17
写了一个小程序抓取数据库的信息,放在服务器“任务计划程序”中按每隔10分钟自动运行。
程序大部分时间运行正常,只是有时候重启服务器,或其它原因导致程序出错后,程序再也无法按指定频率自动运行。
请问要怎么设置任务计划或修改程序,以便即使程序出错也能在下一次指定的时间内自动启动?
设置为停止现有实例是否可行?因为这个问题不易重现,所以就先请教下各位。
...全文
440 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你可以在windows日志中查看错误信息,你这种应该可以找到为啥不能启动 如果无法解决,那么可以考虑脱离windows计划任务,而是直接改用quartz.net之类的job框架
吉普赛的歌 2018-11-16
  • 打赏
  • 举报
回复
如果只是抓取数据库的信息, 建议用 SQL Server 的代理作业来完成, 这个比任务计划要友好得多。 基本不存在无法再次运行的情况。 如果任务未结束, 下一次自动跳过。 如果可以直接写脚本, 那当然最好。 如果你坚持用你现在的程序, 可以写成批处理, 以脚本的形式来调用:
EXEC xp_cmdshell 'd:\task.bat'
或者在作业里以 powersheel 的形式来调用。 作业查看运行情况比较方便, 至少比任务计划要方便、详细。 在作业上右键 “查看历史记录”即可看到相关情况。 当然, 程序方面来说, 最好还是处理所有的异常, 哪怕程序崩溃, 也能看到相关的错误日志, 并做相应处理。
leon51 2018-11-16
  • 打赏
  • 举报
回复
引用
如果你坚持用你现在的程序, 可以写成批处理, 以脚本的形式来调用:
EXEC xp_cmdshell 'd:\task.bat'
或者在作业里以 powersheel 的形式来调用。
感谢版主如此详尽的回复,又让我长了不少见识。 这个程序是从数据库查询在线产品的状态,然后再将工序释放工具给产线( 其实就是将文件放到指定文件夹并清理旧文件),因此绝对大部分操作是对文件和文件夹的操作。这样是否仍适用“SQL Server 的代理作业”?你上面提到的写成批处理,以脚本的形式调用,是在代理作业中调用?还是在计划任务中调用呢?

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧