每15分钟执行一次更改数据库的功能

时间:2015-06-26 07:03:18

标签: php cron

我目前正在开展一个运行在线锦标赛的项目。通常情况下,当比赛开始时,网站的管理员将生成括号,但我们遇到了不一致的开始时间等,我正在寻找自动化此过程的正确方法。

我已经研究过每隔x分钟运行一次cronjobs来检查是否需要生成一个支架但是我担心重叠cronjobs的问题,不得不通过cpanel等创建/管理cronjobs。

我正在考虑其他解决方案,并认为如果用户可以加载页面会很好,后端会检查时间戳并确定是否应该生成括号。然后触发/设置事件以在其他地方开始自动生成过程,因此它不会影响用户加载时间。我只是不知道最好的路线。

PS:我只需要了解我应该研究的方向,这样我就可以学习如何解决这个问题,我不打算复制和粘贴代码。我还没有找到任何东西。我的所有搜索结果都提供了cronjob示例。

修改 在考虑过可以使用这项工作之后?

$(document).ready(function() {
    $.ajax('Full Url Path Here');
})

我不需要传递用户输入,或者返回任何数据我只需要一种方法来触发事件,只有在需要时才能通过帮助程序类来包含它。此外,我不必担心用户试图访问我可以限制只有ajax请求的路由,因为输入中没有需要/使用任何东西或作为输出返回可能发生的事情?

1 个答案:

答案 0 :(得分:0)

每次用户加载页面时都可以这样做(想法未经测试,但理论上可行):

1)创建文件并存储上次更新数据库的时间戳。

2)每次用户加载页面时,请读取该时间戳并检查是否过了15分钟。

3)如果15分钟过去了:运行一个后台脚本(shell_exec?),它将执行您想要的操作并在执行完毕后更新时间戳。

这个系统的一个明显缺陷是,如果你没有访问者让我们说30分钟的框架,你将错过2次更新。虽然我猜如果你没有访客,你也没有意义生成括号?