Pavel
для подобной задачи
Vasily
Такс, ActorRef сунуть не получается, там нет кастомных свойств,которые я задавал у наследника актора
Vasily
Интересно, можно ли как-то IActorRef привести к типу, от которого он создан?
Romɑn
Нет.
Vasily
Тогда только создание модели внутри актора
Romɑn
Если ты про type MyActor() = iActorRef :> MyActor То так нельзя
Vasily
Ну типа того,да
Pavel
а зачем так?
Pavel
ты же можешь использовать тип явно, без IActorRef
Pavel
или ты по селектору актора достаешь?
Vasily
Ну актора же надо создать
Vasily
Короче, заработает скорее всего подход, когда вм знает только об акторах, которым отправляет сообщения
Vasily
Т.е. вью модель создается внутри актора, который ее инициализирует
Vasily
А она имеет селекты на акторов, которым отправляет сообщения о своем состоянии
Pavel
ну по-моему норм
Ayrat
А она имеет селекты на акторов, которым отправляет сообщения о своем состоянии
ну так это обычное общение внутри актор модели. Мне больше интересно как ты вьюхи будешь в итоге WPFу подкидывать.
Éminence grise
Я вотчего не догоняю. Все тут в акку вдарились. Чем орлеан то не угодил? Я с ним пообщался, очень даже ничего.
Vasily
Так получилось
Vasily
Потом и до орлина руки дойдут
Éminence grise
Вась, он проще. И легче в мозг проходит. И кластер собирается на раз. Субъективно, он нелучше, он как то легче чтоль.
Vasily
Возможно
Vasily
Но мне кластер пока не надо
Éminence grise
В продакшене уже месяца два живет. Правда на C#. Вроде без особых проблем.
Vasily
Это ж хорошо
Vasily
С аккой тоже проблем нет
Vasily
Особых
Vasily
Проблема, как обычно, в перестройке мышления
Éminence grise
А я о чем? Надо самл набросатьна F#. Вот в выходные займучь. С интеграцией с жирафом.
Vasily
В выходные отдыхать надо
Éminence grise
Пробовал - скучно 😊
Vasily
А в Орлинсе не совсем понятно как du зайдут с его концепцией интерфейсов, кстати
Éminence grise
А так же. DU - объект с наследованием от абстракта. Так что должны легко. Я правда не совсем понимаю, зачем сводить все к одному методу. Собственно DU нужны как раз для акторов - там мессейдж один. А Orleans из коробки считай сам TypedActor из akka
Vasily
Хммм
Éminence grise
По мне нет разницы: type Msg = | A of int | B of string или type IActor = abstract A: int -> Task abstract B : string - Task
Éminence grise
А вот тут акторы проигрывают: type IActor = abstract A: int -> Task<string> abstract B : string -> Task<int>
Vasily
Я так понимаю, они типа тасками решают проблему ask в акке
Éminence grise
Именно
Éminence grise
Соответсвенно, обычный send - это не ожидаемый вызов метода
Éminence grise
Есть конечно и минус - лайфтайма акторов нет, Нет и супервизоров
Vasily
Не совсем понятно, как они масштабируются, конечно
Vasily
И что случится, когде грейн ебанет
Éminence grise
Там все просто (нку в теории) - по ключам акторов. Они все с ключами.
Éminence grise
Перезапустится при следующем вызове метода
Éminence grise
Они типа виртуальные - не падают никогда
Vasily
А стейт актора куда денется?
Vasily
https://github.com/OrleansContrib/Orleankka
Éminence grise
Это мне показалось какой то заплаткой не от мира сего. Ничего не добавляет - только убирает. По мне - ради совместимости концепта
Éminence grise
https://github.com/akka/akka-meta/blob/master/ComparisonWithOrleans.md
Vasily
Чет орлеан подохрительно похож на фшарпные мейлбоксы на стероида
Vasily
х
Éminence grise
Похож сильно
Vasily
Такс, а у Орлинса есть сервер и клиент, как я понимаю
Vasily
Ваще, канеш, попробую упороться попозже
Vasily
И поднять параллельно две актор системы
Éminence grise
Да, там можно в сервер внутрь запихаться, но там не тривиально. У него вся схема - на неблокирующем скедуллере. Из за этого очень идеоматично к нет. Но танец с передачей тасое с одного скедуллера на другой - слегка не тривиально.
Vasily
Проблема, конечно, в персисте
Vasily
Если в акке я могу в sqlite пихнуть, тут фокус не пройдет
Éminence grise
Пройдет. Легко. Я постгрес впихнул с структурированной БД. Спокойненько так. Заодно и отчеты получил нужные. Просто вместо сейва стейта в блоб сохраняю сам в соответсвующем методе. Или пишу свой перзистент провайдер - там три метода вроде.
Vasily
Ты не понял
Vasily
Мой кейс это что-то вроде sqlite или litedb
Éminence grise
Тебе что, вообще акторы нужны просто как модель изоляции?
Éminence grise
Это то пишется на коленке за неделю.
Vasily
У меня есть частная задача, которая потом грозит перерасти в общую
Éminence grise
Я рассматриваю все же акторную модель как прежде всего распределенную. Там весь оверхиад имеет смысл. Заметь, нормально акторы заработали первый раз только под beam - а он сильно распределенный. И все туда начали смотреть. Вот только акка сильно ориетированна на жабовский мир. И не просто так автор превых ее версий ушел и начал делать ProtoActors
Romɑn
Если в акке я могу в sqlite пихнуть, тут фокус не пройдет
Ты только учти что на клиенте у тебя акторов не будет, они будут все в "облаке/silo"
Dr. Friedrich
С другой стороны, можно вм как наследника актора объявить
Какие вы тут штуки любопытные выдумываете!
Ayrat
говнологика змейки написана, в блокноте играется, я чот упоролся и сделал на гопачке. Из гуи пока что текстовый файл :D
Vasily
Ну гопачок такое себе :)
Ayrat
Я бы сказал что текстовый файл такое себе
Vasily
Бывает, чо
gsomix
Ок, я вернулся.
gsomix
@neftedollar Восстановишь права? :)
Vladislav
gsomix
DEUS VULT
Vladislav
gsomix
Начал читать, рекомендую. https://www.amazon.com/Why-We-Sleep-Unlocking-Dreams/dp/1501144316