如何让服务器在执行一些数据库操作后执行操作


How to make the server do things after some database actions?

标题可能有点不清楚。但我的网站有这个问题。我有一些数据存储在sql数据库中,包括时间戳。但现在我需要用这些数据进行一些计算,并在时间戳后的某个时间段后发送一封电子邮件。但是我该怎么做呢?由于我的网站和数据库只包含静态数据。。。

所以需要明确的是:我有一个关于共享主机的网站和一个数据库。该数据库中的项目都包含一个时间戳值。现在,我需要服务器在数据库中的每个项目的时间戳之后的特定时间段内对该项目执行操作,例如发送邮件。

这可能是一个简单的问题,但我不知道该找什么。。。

编辑:我想我已经通过使用setcronjob.com找到了解决方案,谢谢!

您可以每隔一段时间运行一次作业,以确定时间戳的有效期,然后发送需要发送的电子邮件。但是如何运作这项工作呢?

  • 如果你可以在你的主机上运行计划的作业(即,你拥有机器/VM,并且不在共享主机上),你可以每x天/小时/分钟/秒运行这些作业。在Linux中,查找cron作业,而Windows查找Task Scheduler(我认为)
  • 如果你在共享主机上,那就更难了。也许你可以将一些静态页面转换为运行这些作业的动态页面?根据它们运行所需的时间,您可能需要考虑在新线程(pthreads)中运行这些作业。你需要在你的主机上安装pthreads,所以#1——调度作业——肯定更可取

您可能希望使用Cron任务在数据库中搜索时间戳接近当前时间的每一行。从那时起,你可以简单地计算并发送电子邮件。

你能告诉我更多关于"时间戳后的特定持续时间"的信息吗?

此外,在数据库中,您可以设置一个按计划运行的作业来进行计算并通过电子邮件发送结果。