[英]How to suspend/resume a progress based on the scheduled time?
有一些解决方案可以运行调度程序以开始触发。 但是我的要求也是在结束时间触发。
我有一个时间表输入,如下所示:
似乎复杂的工作。 请给我一个更好的解决方法。
我假设您在上面显示的调度应用程序将这些信息保存到文件中。 如果是这样,您可以执行以下操作。
首先,您要执行的进程必须以某种方式被告知需要关闭。 我假设它是某种Windows事件,或者是文件或数据库中定期检查的标志。 如果您没有此功能,那么您将很难安全地完成任务。
有一个小的应用程序(称为Keeper)从文件中读取计划。 然后,它检查您计划的程序是否正在运行。 如果它正在运行并且需要暂停,则发送信号告知其停止。 然后,创建一个计划任务以在下一个启动时间重新启动程序。 还创建一个计划任务,以使Keeper在下一个暂停时间运行。 然后守护者退出。
任何时候修改时间表,您只需要运行Keeper程序,它就会弄清楚它需要做什么:挂起程序,安排程序再次运行,以及安排自身在下一个暂停时间再次运行。
维护计划的任务涉及少量的复杂性,但是还算不错。 只需让Keeper删除Program和Keeper的任何计划任务,基本上就是维护事物,以使每个任务都不会超过一个。
您需要访问Task Scheduler API 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.