使用 Akka.Net 安排有条件的电子邮件

Schedule a conditional email message with Akka.Net

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

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

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

我的理论是你可以使用标准的 actor 系统安排一个消息顺序在 12 小时后重新发送一封电子邮件,但这有一个事实的自然问题,如果你的进程崩溃,它的所有内存状态都将是迷路了。

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

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