【问题标题】:Run a script based on timestamp entered in MySQL database根据在 MySQL 数据库中输入的时间戳运行脚本
【发布时间】:2010-12-02 13:36:01
【问题描述】:
我需要在用户输入的预定时间运行服务器脚本。这是用于安排电子邮件的程序。用户可以输入他们想要发送邮件的特定时间。我有一个表格,其中存储了用户 ID、电子邮件文本和发送邮件的时间。该时间以分钟为单位定义。我不想通过 cron 作业来完成,因为这意味着每分钟运行 cron 作业。有没有一种方法可以提高机器效率 - 也许通过数据库触发器或其他方式。任何帮助表示赞赏。
谢谢
维纳亚克
【问题讨论】:
标签:
php
mysql
database
cron
【解决方案1】:
我对 cron 不是很熟悉,但是当用户输入信息时,我认为您可以设置一个将在特定时间运行的 cron 作业。这样,您就不必经常运行一般的 cron 作业。它只会在所有特定时间运行。
【解决方案2】:
如果您的所有 cron 工作只是快速查询以检查是否有任何邮件计划发送,那么每分钟运行一次不会是一项昂贵的操作。它在您的服务器上的负载应该比典型的页面负载(通常需要相当多的查询,甚至更多)更少。
使用由 cron 作业运行的脚本,但要确保它尽可能轻量级。根据您的描述,您应该能够将其归结为一个简单的查询 - 大多数情况下 - 返回零结果。这是相当轻量级的。