使用 PHP 和 Windows 任务计划程序在退出时重试(1)
Posted
技术标签:
【中文标题】使用 PHP 和 Windows 任务计划程序在退出时重试(1)【英文标题】:Use PHP and Windows Task Scheduler to try again on exit(1) 【发布时间】:2013-03-20 23:01:56 【问题描述】:我使用 Windows 任务调度程序来启动一个运行良好的 php 脚本。基本上C:\php.exe -f C:\myscript.php
在我的脚本中发生了一些工作,有时让我想在 5 分钟内再次运行任务脚本。
我尝试通过更改任务设置来实现这一点,如果任务失败,则每 5 分钟重新启动一次,并使用我的 php 代码 exit(1)
。任务调度器似乎知道我以错误代码 1 退出,但它不再运行脚本。
有谁知道我可以做些什么来做到这一点,如果我以某种方式从我的代码中发出信号,任务管理器将在 5 分钟内重试。
【问题讨论】:
【参考方案1】:不是问题的答案,但如果您无法使其正常工作,可以作为后备:无论如何,让您的工作每 5 分钟运行一次,然后自己跟踪“最后一次成功”/“最后一次失败” , 在数据库或文件中。
在执行任何其他操作之前,脚本可以检查记录的状态,如果上次失败,请重试(最多尝试次数有限,大概)。如果上次成功,则立即退出,除非到了下一个工作的时间(例如,如果原始计划是每天,则检查 $last_success
是否超过 24 小时)。
【讨论】:
以上是关于使用 PHP 和 Windows 任务计划程序在退出时重试(1)的主要内容,如果未能解决你的问题,请参考以下文章