Nikolay
А если я создаю актора, с определённым именем, например - id юзера, и мне нужно ему отправить сообщение из другого актора, я это по данному имени должен как-то делать, или как вообще правильно? Речь про Akka и Akkling
Nikolay
Ну ты задай
Надо внимание привлечь, а то так не отвечают
Vasily
Nikolay
Помнится мне говорили, что это плохо
Nikolay
И вроде медленно
Vasily
Плохо по инстансу
Vasily
Т.е. по IActorRef
Nikolay
Всмысле?
Vasily
Ну ты можешь делать select
Vasily
Для выбора множества акторов адресатов
Vasily
Это норм
Nikolay
Ну мне один актор нужен
Vasily
А можешь пытаться материализовать
Vasily
По адресу
Vasily
Это не очень
Nikolay
let userSelection = select<UserAction> mailbox.System actorName
let! userActor = userSelection.ResolveOne(TimeSpan.MaxValue)
userActor <! UserAction.Update user
Nikolay
Так что-ли?
Vasily
Угу
Vasily
Только это резолв
Vasily
И это плохо
Nikolay
А как правильно отправлять актору сообщение, если знаешь его имя?
Nikolay
Помнится вроде предлагали делать отдельный актор, который будет гейтом к этим акторам, и у которого в стейте будет dictionary из IActorRef
Vasily
Actor selection
Nikolay
Actor selection
let userSelection = select<UserAction> mailbox.System actorName
userSelection <! UserAction.Update user
Nikolay
Так можно делать, да?
Vasily
Если в результате actor selection, то да
Nikolay
И это быстро будет?
Nikolay
А резолв тогда зачем?
Ayrat
Это типа императивный приказ "вручить лично адресату под роспись, убедившись что он живой".
Nikolay
А в случае с селекшном если актора такого нет, то он ничего не получит, так?
Vasily
@omgszer уже с приветом из солнечного Дублина?
Nikolay
Ayrat
Hog
@omgszer как гинес на исторической родине?
Ayrat
В домах не топят, спать надо в одежде. Ебанутые
Hog
Ayrat
Nikolay
Hog
Газификация не добралась?
Nikolay
Nikolay
Ну у меня такой проблемы не возникает, что актора может не существовать в этот момент
Ayrat
То есть не надо делать актор систему где месаджи могут не найти адресата
Hog
Ayrat
Nikolay
Т.е. он всегда будет, если только не помер
Nikolay
А если помер и пересоздается, мессадж не будет получен?
Hog
Если помер, там есть страте
Hog
Вот я тоже хотел спросить
Ayrat
Nikolay
По стратегии естественно
Ayrat
Когда актор рестартится он не помирает. Когда актор стопается он уносит в могилу и мейлбокс
Ayrat
И акторРеф туда же
Nikolay
А какой-нибудь NRE стопанёт актор?
Ayrat
Тут будет рейс кондишн, успеет ли создаться новый мейлбокс по адресу или нет
Nikolay
А, ну норм, т.е. мейлбокс не сдохнет
Nikolay
А что стопанёт актор?
Hog
Пилюля
Ayrat
Метод вызывается у контекста или акторРефа
Ayrat
То есть владеющий акторРефом может убить. Или сам актор может себя убить
Hog
«Актор, выпей йаду!»
Ayrat
Там один из параметров метода месадж последний. Его можно явно себе послать в мейлбокс ещё раз)
Ayrat
Но так лучше не делать
Vladislav
Типо ссылки гонять
Ayrat
Типо ссылки гонять
Не, так плохо, надо по адресам общаться. АкторРефы должны у родителя сидеть
Ayrat
Ох уж эти тёрки за Акку.
Ayrat
Мир в себе.
Hog
Я начал читать «Concurrency in .net»
Hog
Вроде там тоже глава про акторы есть, вот только хз когда до неё доберусь
Ayrat
Ayrat
Кстати.
Вы знали что ключевое слово lazy в фшарпе ну очень особое?