【发布时间】:2015-05-11 02:46:58
【问题描述】:
我的要求是启动一个长时间运行的过程来标记所有过期的产品。这是每晚凌晨 1:00 运行的。客户可能正在访问网站上的某些产品,因此他们在作业运行时有实例。其他的在持久媒体中,还没有实例,因为客户没有访问它们。
我应该在哪里连接逻辑以从持久媒体读取演员的最新状态并创建一个全新的演员?我应该在 Prestart 覆盖方法中调用吗?如果是这样,我如何告诉 ProductActor 正在创建一个新演员。
或者我应该向 ProductActor 发送消息,例如 LoadMeFromAzureTable,它会在创建 Actor 后从持久媒体加载状态?
【问题讨论】:
-
我是否理解您的意思是您正在为每个产品创建一个演员??
-
为每个产品创建一个参与者将有助于扩展。我也不想让他们留在系统中,因为这是一项工作,所以工作完成后,所有产品参与者都需要被杀死。
标签: persistence akka.net