Завершаем рассказ, начатый [в первой части][1]. Сегодня рассмотрим еще несколько граблей, на которые довелось наступить за годы использования [SObjectizer][2]-а в повседневной работе.
Акторы в Модели Акторов и агенты у нас в SObjectizer общаются посредством асинхронных сообщений. И в этом кроется одна из причин привлекательности Модели Акторов для некоторых типов задач. Казалось бы, асинхронность — это один из краеугольных камней, один из бонусов, поэтому пользуйся себе на здоровье и получай удовольствие.
Ан нет. На практике быстро начались просьбы сделать в SObjectizer возможность синхронного взаимодействия агентов. Очень долго я этим просьбам сопротивлялся. Но в конце-концов сдался. Пришлось добавить в SObjectizer [возможность выполнить синхронный запрос от одного агента к другому][3].
Выглядит в коде это вот так:
[Читать дальше →][4]
[1]:
https://habrahabr.ru/post/324420/
[2]:
https://sourceforge.net/projects/sobjectizer/
[3]:
https://sourceforge.net/p/sobjectizer/wiki/so-5.5%20In-depth%20-%20Synchronous%20Interaction/
[4]:
https://habrahabr.ru/post/324978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut