标题的“按命令”部分是必不可少的。我知道如何设置一个cron作业以在预定的时间表上运行PHP文件。我需要的是性质相似,但我认为它需要不同的技术解决方案。
我有一个管理部分,当我的一个管理员登录时,他们应该能够点击一个按钮,在接下来的2个小时内每隔5分钟执行一次PHP脚本。
现在该按钮存在,它调用一个Javascript函数,该函数将AJAX请求发送到相应的PHP文件。如果文件中的PHP函数从那一刻起每隔5分钟运行一次,直到2小时过去,它将使我们的生活变得更加容易。
我知道通过让Javascript每5分钟重复一次请求,可以在客户端完成类似的操作。但是,这对我没有多大帮助。管理员需要能够离开站点,使用不同的参数向同一个文件发送新请求,同时不会中断PHP脚本的重复执行。
所以,我需要某种服务器端解决方案。这甚至可能吗?如果是这样,我该怎么办?
我可以共享客户端代码,但我认为它不重要 - 客户端是标准的AJAX调用;在服务器端就是这样:
$par=$_GET['par']; //parameter received from AJAX
someFunction($par); //I need to modify the code so this function (please note there's a parameter) would run every 5 minutes for the next 2 hours
答案 0 :(得分:4)
一个javascript解决方案需要管理员需要点击按钮然后在接下来的2个小时内打开该页面,这远非理想。我认为这就是你不想要这个的原因。
这是一种方法
如果其他管理员点击该按钮,则只使用新值覆盖该作业的日期时间。然后,自上次点击以来,该作业将始终每5分钟运行2小时。
答案 1 :(得分:0)
在php中使用at
shell命令,以便它可以自行调用。然后使用php来管理它一次调用或设置它们的次数