使用 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)的主要内容,如果未能解决你的问题,请参考以下文章

Windows 任务计划程序执行PHP脚本

使用 Windows 任务调度程序和 xampp 服务器运行带有 curl 的 php 脚本

windows下php脚本怎么运行

如何使用 Windows 计划任务运行 PHP 脚本?

windows 建立任务执行计划 自动执行脚本

windows7设置定时任务运行ThinkPHP框架程序