即使用户离开网站也执行 MySQL 查询的 PHP 服务器端计时器?

标签 php mysql timer

我正在写一个用户可以订购产品的网站,但要注意的是,即使用户注销/关闭浏览器等,产品也应该在 5 分钟后自动结账(执行 PHP 脚本,包括 MySQL 查询)。有没有人有类似的问题。我应该如何编写代码?

最佳答案

由于这是一个经常性的自动化任务,您需要设置一个 cron 或其他任务调度程序。粗略地说,这就是它的工作方式:

  1. 当用户将产品添加到购物车时,它进入数据库时​​带有一个标志,指示其未 checkout 以及添加到数据库/购物车的时间戳。

  2. 如果产品由用户明确地从浏览器结帐,则更新此标志以反射(reflect)相同情况。

  3. cron 每隔一两分钟唤醒一次,并检查此表以查找添加到购物车的商品的时间戳,而这些商品在 5 分钟之前没有更新和添加结帐标志。

  4. 它会检查此类产品并更新标志。

请注意,您仍然需要进一步调整此流程以处理诸如当您的 cron 正在执行相同操作时用户手动 checkout 时发生的情况等等

但简而言之,我认为这就是我将如何着手解决这个问题

关于即使用户离开网站也执行 MySQL 查询的 PHP 服务器端计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872161/

相关文章:

php - 在 IE6 中上传大于 10Mb 的文件时出现问题

mysql - 选择不同的数据库进行连接 - mysql

javascript - 如何让这个定时器循环起来? JS

javascript - 如何在不刷新页面的情况下连续更新 PHP 变量?

javascript - 正确的 JS 解析通过 JSON 传输的 URL

Python 使用父类(super class)的 mysql 连接

php - 通过一次mysql查询获得递归效果

android - 计时器不会在 android 中停止

linux - 为什么在/proc/interrupts 中不显示启用rtc 中断?

javascript - 如何将 Select 值从 Javascript 传递到 PHP 以在更改时生成选择选项