php.exe上的预定任务重复

时间:2014-10-10 15:48:20

标签: php odbc scheduled-tasks

进一步调查我发现,确定某个任务实例运行的时间有一个确切的问题。最成功的运行几秒钟,但连续几个任务运行长达一个小时(然后经理停止)。此时,任何有关Windows计划任务生命周期的信息都将受到赞赏


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

该文件是通过对带有-f参数的php.exe的预定任务调用执行的(后面带有所述文件)

任务按预期执行,并且必定运行。 但是,我注意到自初次运行以来存在两个问题。

第1次,我在日志文件上有一个file_put_contents,其中添加了一个' Schedule Task()'加上当前时间,每次任务运行时都行。
在前几天,这个运行正常,但直到一天晚上,当日志文件填满时命令无法执行(一个.txt低于1GB)。 我检查了,日志文件读作:

Schedule Task() 2014-10-10 18:00:00.000
Schedule Task() 2014-10-10 18:00:00.000
Schedule 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行的毫秒数是相等的。

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

问题再也没有发生过
第二,但是,从第一个计划任务(今天)起3周后,我注意到计划任务的历史记录充满了错误,增量率为10分钟。 给出的错误代码是'运行重复实例'。 (这是正确的,因为我已设置选项,如果一个正在进行中,则不运行实例)

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

在这个阶段,我不确定它是否是计划任务的错误,或者是否是我没有正确结束文件的代码问题。有没有人有类似的问题?

更新
通过查看计划任务amanbager日志,我可以看到运行时间超过1小时的任务存在问题(见图)

enter image description here

呼叫每10分钟运行一次,但任务运行(红线)没有正确转义。

0 个答案:

没有答案