使用PHP和Windows任务调度程序在退出(1)时再试一次


Use PHP and Windows Task Scheduler to try again on exit(1)

我使用windows任务调度程序启动一个php脚本,它工作得很好。基本上是C:'php.exe -f C:'myscript.php

在我的脚本中发生的一些工作有时使我想在5分钟内再次运行任务脚本。

我试图通过改变任务的设置来实现这一点,如果任务失败,每5分钟重新启动一次,并有我的php代码exit(1)。任务调度程序似乎知道我以错误代码1退出,但它没有再次运行脚本。

有没有人知道我能做些什么,使任务管理器将在5分钟内再次尝试,如果我从我的代码以某种方式发出信号。

不是问题的答案,但如果你不能让它工作,可以作为一个备用方案:让你的作业每5分钟运行一次,无论如何,然后自己在数据库或文件中跟踪"最后一次成功"/"最后一次失败"。

在执行其他操作之前,脚本可以检查已记录的状态,如果上次失败,则再试一次(大概是有限次数的尝试)。如果上次成功,立即退出,除非是下一个作业的时间(例如,如果原始计划是每天,那么检查$last_success是否超过24小时)。