【问题标题】:How to check MySQL table updates and send mail using cron job [closed]如何使用 cron 作业检查 MySQL 表更新和发送邮件 [关闭]
【发布时间】:2016-09-01 04:51:56
【问题描述】:

我编写了一个请求程序,其中包含每当插入新数据时自动发送邮件。我想使用 cron 来激活请求。

每当 MySQL 更新时,我都想自动接收邮件。

【问题讨论】:

标签: mysql amazon-web-services cron cron-task


【解决方案1】:

我建议以下解决方案:

1) 添加默认值 = 'INSERTED' 的列 'Status' 并创建一个简单的程序,该程序将每分钟检索状态为 'Inserted' 的行并发送电子邮件通知。发送电子邮件后,您应该将状态更新为“已发送”或类似的内容。

ALTER TABLE `your_table` 
ADD COLUMN `STATUS` VARCHAR(45) NULL DEFAULT 'INSERTED';

您的应用程序由 cron 作业调度,应通过查询检索数据:

select <some_fields>
from  <your_table>
where status = 'INSERTED'; 

<send email logic>

update <your_table>
set status = 'SENDED'; 
where status = 'INSERTED'; 

2) 创建触发器,它将有关新行的信息插入到单独的表中。接下来的步骤与之前的方法相同。

CREATE TRIGGER save_inserted_data AFTER INSERT ON your_table
FOR EACH ROW BEGIN
      insert into log_table (id)
      values (:new.id)
END;

<send email logic>

delete from log_table; 

并且您应该添加一些逻辑,这些逻辑将在发送电子邮件期间考虑新行。即,

  • 已插入 3 行
  • 您检索到 3 行电子邮件通知
  • 有人添加新的
  • 只需标记/删除 3 行(无需新行)

【讨论】:

  • 你能用例子解释一下吗
猜你喜欢
  • 2018-01-27
  • 1970-01-01
  • 2011-03-23
  • 2016-11-22
  • 2015-06-24
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
相关资源
最近更新 更多