java – Akka:如何在延迟时间间隔延长的情况下安排重试失败?
让一个演员再次尝试失败的好方法是什么,但重试之间的时间间隔越来越长?假设我希望演员在15秒后再次30秒钟再次尝试一次,那么每一分钟都会有限次.
这是我想出的: >执行实际工作的actor的方法是可选的 >如果retryCount< MAX_RETRIES:使用Akka的调度程序安排在所需延迟后发送RetryMessage 这是一个很好的解决方案还是有更好的方法? 解决方法
你可以有一个主管启动工人演员.文档中的提示是为工作人员声明一个大小为1的路由器.主管将跟踪重试次数,然后根据需要安排发送给工作人员的消息.
即使您将创建另一层演员,这对我来说似乎更清晰,因为您将监督功能从工作人员中排除.理想情况下,您可以让这位1名主管对n名工作人员,但我认为您必须使用生命周期监控来从儿童演员获得失败.在这种情况下,您只需保留[ActorRef,Int]的地图即可跟踪所有受监管人员的重试次数.监督政策将恢复,但是如果您达到最大的重试次数,您可以向有罪的ActorRef发送毒药. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |