0

我有一个应用程序,我们可以进行模拟测试,当用户在数据库中开始考试时,调用的列testStarted将设置为1,当用户结束测试时,列的值将设置回0,我这样做是因为单用户不应同时参加一项以上的测试...

现在,当用户开始测试并且他不会结束它时,数据库中的值将是1并且他不能再进行测试了......所以我需要的是当测试时间完成时,值应该设置回0这应该发生在服务器而不是本地机器上怎么做????

请帮我...

4

1 回答 1

0

你应该看看 cronjobs。Cronjobs 可以执行在特定时间或定期执行的命令。最好的方法是创建一个 php 脚本,在假设 100 分钟后将列更改回 0。每分钟运行一次的 cronjob 可以验证 100 分钟前已经启动了哪些测试,并将列设置为 0。

您可以在此处找到有关 cronjobs 的更多信息http://www.adminschoice.com/crontab-quick-reference

询问您的托管公司如何为您的服务器设置 cronjobs。

要运行 cronjob,您可以使用

* * * * * wget -O /dev/null http://domain.com/link_to_script

或类似的东西

* * * * * cd /var/www/html/folder && php cache_website_stats.php > /dev/null

取决于您在服务器上可用的内容

于 2012-12-07T05:24:41.610 回答