繁体   English   中英

用于在后台检查数据库的服务器端脚本

[英]Server-side script for checking database in the background

我目前正在为我们的 class 编写一个“类似论坛”的网站,它就像一个常见问题解答,来自我们 class 的每个人都可以发布答案。 我想实现一个系统,一个学生(班长)可以上传这些问题(老师经常问的问题,很可能成为测试问题)和 select 用户必须回答哪个问题。

现在我想编写一个系统,在一定时间后提醒(电子邮件)用户他的问题没有得到回答,他应该回答。 所以,我需要每 30 分钟检查一次我的数据库,看看这个“应答时间”是否已经用完,并向用户发送 email。

我不认为我可以使用 PHP 脚本来实现这一点,除非有办法始终在后台运行脚本。 我还考虑过编写一个外部程序来检查数据库,但我不喜欢使用一个程序,它可能会在我不注意的情况下失败。

所以我想问,最好的方法是什么?

您可以在服务器端设置一个cron job以每 x 分钟运行一次 php 脚本
这适用于 linux。

对于 windows 您可以设置计划任务以每 x 分钟运行一次脚本

如果 cron 在您的虚拟主机上不可用,您可能会在正常脚本执行结束后运行定期任务。 方法如下:

检查此 PHP 功能的详细信息:

register_shutdown_function()

在普通用户使用浏览器经常调用的脚本开始时,注册一个关闭 function。 然后让脚本正常执行,最后执行

exit;

由于退出,浏览器假定服务器脚本已完成 - 尽管注册的关闭 function 仍然执行。

请注意,关闭 function 会立即终止,如果其最后一次执行时间不超过预定义的分钟数。

不用说,使用 cron 作业优于这种方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM