1
我想寫一些代碼針對一個非常老的數據庫,如果它的命中非常困難崩潰。Akka演員和信息節流
我正在尋找方法,我的演員每秒不會處理超過X條消息。
現在,我猜這位演員的默認實現是它儘可能快地處理其消息箱中的消息。
但是我想知道是否有一種方法可以配置我的演員,以便每秒從演員消息隊列中限制「X」個消息數。
我想寫一些代碼針對一個非常老的數據庫,如果它的命中非常困難崩潰。Akka演員和信息節流
我正在尋找方法,我的演員每秒不會處理超過X條消息。
現在,我猜這位演員的默認實現是它儘可能快地處理其消息箱中的消息。
但是我想知道是否有一種方法可以配置我的演員,以便每秒從演員消息隊列中限制「X」個消息數。
你正在尋找一個TimerBasedThrottler
:
val printer = system.actorOf(Props[PrintActor])
// The throttler for this example, setting the rate
val throttler = system.actorOf(Props(
classOf[TimerBasedThrottler],
3 msgsPer 1.second))
throttler ! SetTarget(Some(printer))
,然後通過節流ActorRef
發送消息。