首页 > 解决方案 > 使用 Akka.Net 安排有条件的电子邮件

问题描述

我需要实现以下逻辑 - 我向用户发送一条消息,如果他没有回复,我会在 12 小时后再次发送。我想知道最好的方法是什么?我正在考虑使用 Akka.NET - 一段时间后,演员会检查用户是否回复了我的消息,如果没有,则再次发送。

有没有更简单的方法?如果没有,Akka.NET 有一些问题

我是这个话题的新手,在此先感谢您的所有答案。

标签: asp.netasp.net-coreakkaakka.net

解决方案


我认为你可以使用标准的演员系统安排一个消息顺序在 12 小时后重新发送一封电子邮件,但这有一个自然的问题,即如果你的进程崩溃,它的所有内存状态都将丢失。

在实践中,您可以使用两个现有插件之一,它们可以为您提供持久的时间表:

  • Akka.Persistence.Reminders在 Akka.Persistence 之上工作,因此您可以在任何 akka.net 持久性插件之上使用它。
  • 另一种方法是使用Akka.Quartz.Actor,它在 Quartz.NET 之上提供专用的 Actor 并利用 Quartz 的持久性功能。

推荐阅读