0

Akka を使用する際の重要なルールは、入出力操作のブロック、ポーリング、ビジー待機、スリープなどを回避することであると読みました。しかし、フロー制御が本当に必要な場合はどうすればよいでしょうか?

私は Akka アクターを使用して顧客にメールを送信しています。メール サーバーに優しくするために、5 秒に 1 通のメールを送信しています。私の計画では、ディスパッチャー アクターを使用してフロー制御を行い、送信者アクターを使用してメール送信作業を行います。

class Dispatcher extends Actor {
  def receive = {
    case ResetPassword(to, data) => 
      senderActor ! Mail("resetPassword", to, data)
      Thread.sleep(5000)
    ...
  }
}
class Sender extends Actor {
  def receive = {
    case Mail(to, data) => // send the mail immediately
    ...
  }
}

これは正しい方法ですか?そうでない場合、フロー制御を行うにはどうすればよいですか?

4

1 に答える 1