Ayrat
Ayrat
Dr. Friedrich
атомарные операции!
Это уже актор нужен, если InterlockedIncrement не нравится :)
Анна
Вот так вот господа мы и дожили до тех времён, когда нельзя просто так взять и заинкрементить число 😨
Ayrat
Nikolay
А если я хочу в рекорде хранить всю эту кухню, как быть?
Vladislav
@Dolfik проверь говнокод
Vladislav
https://github.com/Dolfik1/ItMeetupCats/pull/3
Ayrat
Vasily
Ayrat
Ayrat
{ a with Value = a.Value + 1 } ?
Vasily
Ayrat
ну вот и зачем?)\
Ayrat
т.е. это иммутабельность ради иммутабельности без преимуществ и кучей гемороя
Vasily
А рекорд мутабельным
Ayrat
😱
Vasily
Хотя по факту это стейт в рекурсивном лупе
Vladislav
Vasily
И да, пора вводить MailboxProcessor
Ayrat
Ayrat
и гопак
Vladislav
и гопак
и семестр обучения вместо митапа
Vladislav
Vasily
Vladislav
Vladislav
ясен хрен
Nikolay
Была идея сделать так, что не отдавать котика, если уже отдали этому юзеру
Nikolay
Vladislav
Nikolay
Ayrat
Ayrat
и забудь про это апи навсгеда
Ayrat
Тогда кэш надо сделать персистентным!
Ayrat
хыхыхыхы
Vasily
И внизу loop {state with Count=state.Count+1}
Vasily
Vasily
И тормозить не будет
Vladislav
короче
Vladislav
я так и не понял какая проблема
Nikolay
А как стейт мэйлбокса получить?
Nikolay
Стейт вне функции
Vasily
PostAndReplyAsync
Nikolay
PostAndReplyAsync
Я сейчас делаю отдельного агента, который хранит стейт и отправляет в телегу по запросу, это норм?
Nikolay
Без reply
Vasily
Ну да
Vasily
Реплай тебе нужен только если ты что то хочешь отдать вовне
Vasily
А внутри лупа у тебя есть текущий Стейт, так что реплай не особо нужен
Nikolay
Получилось :)
Nikolay
Посмотрите код?
Nikolay
Щас запушу
Nikolay
https://github.com/Dolfik1/ItMeetupCats/blob/dev/Program.fs
Nikolay
@vshapenko Ayrat вы же у нас по акторам, посмотрите пожалуйста :)
Nikolay
Кстати, такой вопрос, как оно будет работать, когда в нём будет 100 сообщений? Он будет последовательно их обрабатывать?
Vladislav
>sprintf "%i 🐱 sended"
sent
Ayrat
Nikolay
:D
Vasily
Nikolay
Да
А это не будет тормозить?
Nikolay
Vasily
Ну смотри
Vasily
У тебя есть receive
Vasily
Пока ты в следующий цикл не идёшь, считается, что ты обрабатываешь текущий стейт
Vasily
И сообщения копятся, естественно
Vasily
Но тебе надо всего лишь обновить стейт и запустить асинк отдачи котика
Vasily
Поэтому тормозить не должно
Vasily
Такс
Vasily
У тебя ошибка в коде
Vasily
Внутри асинка должен быть возврат messageLoop
Vasily
Иначе мейлбокс отработает один раз и сдохнет
Nikolay
Щас чуть правлю