Akka 2: Как приостановить обработку сообщений?

На моем пути к пониманию модели Актера с использованием Akka всплывает много вопросов. Вот еще один. Скажем, у нас есть Актер, который должен прекратить обработку сообщений на определенное время из-за какой-то бизнес-логики или доступных ресурсов. Это может произойти в следующих случаях:

  • Дросселирование. Может быть Актер, который отправляет электронные письма, но может отправлять только одно электронное письмо в секунду.

  • Актер может использовать некоторую систему, которая может обрабатывать только x-сообщения одновременно. Это может быть AsyncHttpClient с фиксированным пулом потоков, и я не хочу его перегружать.

  • Недоступен какой-то внешний ресурс, необходимый для обработки сообщений (читай: внешний REST-API)

Вполне возможно, что мой мозг еще не готов к актору, и мне просто нужна подсказка, как решать такие проблемы в по-актерски.

10
задан Malax 7 March 2012 в 13:23
поделиться