如何在一段时间后触发mysql事件


How to trigger mysql event after a time period?

我有一个mysql数据库,用于存储在线用户。是否有一种有效的方法可以在一段时间后触发事件,以检测处于非活动状态的用户(将其状态设置为"脱机")?我将用户上次活动的时间存储在一个表中(TIMESTAMP值)。

谢谢!

要定期运行php脚本,有许多解决方案:

  • 您使用一个cron作业(这意味着您有一个服务器)。要了解如何做到这一点,您可以访问此链接
  • 您使用MySQL提供的事件调度程序
  • 如果您没有服务器,您可以使用一个定期启动您的任务的提供商,最著名的是Webcron.org(它不是免费的)
  • 另一种解决方案是,创建一个PHP脚本,它将在后台运行,同时等待合适的时间执行操作;要做到这一点,您必须有权访问函数set_time_limit()ignore_user_abort()。然后创建一个连续循环的脚本,并检查是否有事情要做