对消息进行排队,然后运行每30分钟对其执行一次操作的方法

时间:2017-06-12 12:44:22

标签: c# asp.net .net

将消息排队并从主应用程序中存储它们的可能性有多大,然后每​​30分钟对这些排队消息执行一些操作。

应用程序每次发送电子邮件时,许多组件中的一个会发出警告,当许多组件发出警告时,有时会发送7-10封电子邮件。

如果需要,我想将这些警告消息排队,删除重复项并每隔30分钟发送一次电子邮件。

作为额外信息,此应用程序没有数据库。

将它们存储在某个.txt文件中,然后使用cron jobs运行方法很棒吗?运行该方法后,清除.txt文件。

1 个答案:

答案 0 :(得分:0)

鉴于您希望为过去30分钟内发生的各种警告消息发送一封电子邮件,并且应用程序没有任何数据库,您可以在文件中发送消息,同时将消息推送到文件,您可以检查它是否已经存在(这可以通过使用与每条警告消息关联的唯一ID来完成,如果它已经存在,您可以避免再次将其写入文件。我的建议是使用XML文件而不是纯文本文件,因为在XML中搜索节点要容易得多。

30分钟结束后,预定作业可以复制文件并清除现有原始文件。制作副本很有用,这样任何新的警告消息都可以立即写入原始文件。然后,可以发送单个电子邮件,其中包含该复制版本文件中的所有邮件。发送电子邮件后,删除复制的版本作为良好的管家。

由于