计划任务运行时间比预期长

计划任务运行时间比预期长

进一步调查后,我发现任务的某些实例运行时间确实存在问题。大多数任务在几秒钟内成功运行,但一些连续的任务运行长达一个小时(然后被管理器停止)。此时,任何有关 Windows 计划任务生命周期的信息都将不胜感激


我有一个 php 文件,需要每 10 分钟调用一次。该 php 文件处理在调用时更新的新数据库条目。

该文件通过使用 -f 参数对 php.exe 进行计划任务调用来执行(之后是上述文件)

任务按预期执行,运行无误。但是,自首次运行以来,我注意到了两个问题。

第一,我有一个file_put_contents日志文件,每次运行任务时都会添加“Schedule Task()”加上当前时间行。
前几天运行良好,但直到一天晚上,由于日志文件已满(.txt 大小略低于 1GB),命令无法执行。我检查了一下,日志文件显示如下:

Scheduled Task() 2014-10-10 18:00:00.000
Scheduled Task() 2014-10-10 18:00:00.000
Scheduled Task() 2014-10-10 18:00:00.000
(repeated for 1000s of lines, but still with milliseconds time incrementing every 500 lines or so)

我期望它显示为:

Scheduled Task () 2014-10-10 18:00:00.000
Scheduled Task () 2014-10-10 18:10:00.000
Scheduled Task () 2014-10-10 18:20:00.000

这表明该过程卡在了那一行,因为 500 行的毫秒数是相等的。

为了解决这个问题,我将该file_put_contents行移到 IF 语句之后,以确保只有当数据库中有新记录时,该行才会写入日志文件。

这个问题再也没有发生过。

第二但是,距离第一个计划任务(今天)过去 3 周后,我注意到计划任务的历史记录中充满了错误,每 10 分钟就会出现一次。给出的错误代码是“重复运行实例”。(这是正确的,因为我已将选项设置为如果一个实例已经在运行则不运行该实例)

这表明计划任务管理器正在多次执行该操作(多个进程)。

目前,我不确定这是否是计划任务的错误,或者是否是代码问题,我没有正确结束文件。有人遇到过类似的问题吗?

更新
通过查看计划任务管理器日志,我发现任务运行时间超过 1 小时存在问题

通话每 10 分钟运行一次,但有几个任务超时并根据“如果运行时间超过一小时则停止任务”选项停止

相关内容