LAMP Web App中的用户可配置通知频率

时间:2016-12-20 07:27:09

标签: php mysql email cron

我正在为企业开发一个Web应用程序来跟踪他们的维修状况。在LAMP上运行的部件订单(Linux Apache MySQL PHP)。我只需要一些关于如何允许用户自定义电子邮件通知频率的输入。

目前,我只是在每周一早上6点运行一个cron作业,该作业运行一个php脚本,向每个用户发送未处理作业的电子邮件。但我想让用户不仅可以灵活选择发送时间,还可以选择一周中的日期。

我有一个想法是,某种方式,将他们的电子邮件通知首选项存储在MySQL数据库中,然后编写一个php脚本通过电子邮件通知,但前提是当前日期/时间符合他们设置的标准和放大器;写入代码以防止在同一周期内发送两次。然后我可以每分钟或者5分钟或者其他什么来运行cron作业。

或者以某种方式通过php以编程方式为每个用户创建单独的cron作业会更好吗?

任何输入都将非常感谢! :)

1 个答案:

答案 0 :(得分:0)

不,你是对的。

个别crons将消耗许多资源。想象一下,有10k用户要求在不同时间发送邮件......这意味着10k的任务。

最佳解决方案是创建一个将在用户上运行并执行正确操作的cron任务。

  

迭代您的用户,检查设置的日期/时间,检测更改并发送邮件并在某处添加标记,以便“已完成”(属性last_cron_scandatenext_calculated_cron_scandate可能是一个好消息溶液)