Ayrat
RunSynchronously остаётся в паре мест
если это инициализация, то спроси себя, зачем там вообще асинк, инициализая обычно синхронная
Hog
RunSynchronously остаётся в паре мест
а внутри асинка оно let! .... |> Async.AwaitTask
Ayrat
если это не инициализация, то подумай зачем там |> Async.RunSynchronously
Nikolay
Хмм, а как правильно ожидать завершения выполнения Async?
Vasily
Ну я что-то подозревал такое про скалу, конечно
Ayrat
Хмм, а как правильно ожидать завершения выполнения Async?
просто обычно ожидание происходит на самом деле только в одном месте - в функции main, а остальная программа работает, как смазанный механизм - без блокировок
Vasily
Кстати да
Vasily
Там RunSynchronously точно не нужен
Vasily
Даю зуб Айрата
Nikolay
А что там нужно?
Ayrat
У меня рекурсивная функция
ну пусть она себя рекурсивно вызывает, а ты её стартани в отдельном потоке через Async.Start или верни Async, а мейн его дождётся
Vasily
Причем там чтение конфига
Vasily
Потом запуск бота
Vasily
И везде ждет
Ayrat
если она рекурсивная вечно, то это (привет евентлуп) нетерминирующая рекурсия, её можно вообще запустить и забыть
Nikolay
Т.е. startBot должна возвращать async?
Vasily
Угу
Ayrat
Т.е. startBot должна возвращать async?
У тебя подразумевается выход из программы или бот работает вечно до SIGKILL?
Vasily
Async<unit> наверное
Ayrat
Async<unit> наверное
А вот гопак умеет вечные циклы ещё более легковесно запускать
Nikolay
Хотя с async по идее можно будет отмену сделать
Vasily
let rec run=async{}
Ayrat
До SIGKILL
тогда пусть бот возвращает Async, в основном методе его RunSyncrh
Vasily
Тьфу
Ayrat
и жди пока он выйдет (а он не выйдет)
x
И всё это —чтобы рекламировать ставки на спорт в чатиках 🙈
Vasily
Ну, хоть не баба!
НУ ВОТ НЕ УВЕРЕН
Ayrat
Я смотрел Nordic.JS и выжил
Ayrat
там были мужики в юбках, трансы и какие-то бабы в кольцами в носу
Ayrat
мир JS
Ayrat
Вообще такое ощущение что они самых фриканутых фриков позвали
Vasily
В юбке- уже не мужик
Vasily
Хотя там динамик каст в рантайме
Hog
В юбке- уже не мужик
баба в штанах - не баба?
Ayrat
В юбке- уже не мужик
а если это кольчужная юбка???
Vladislav
Я смотрел Nordic.JS и выжил
Google io странный. Там будто роботы выступают
Vladislav
Cppcon и ndc вроде самые нормальные
Vladislav
И goto
Ayrat
Да, NDC я смотрел, вообще адекватная конфа
Vladislav
Да, NDC я смотрел, вообще адекватная конфа
Ну тебе ещё и близко будет как переедешь, хех
Ayrat
я на контрасте понял что в JS ебанутых много. Просто если б они везде такие были, то я бы подумал что это уже я ненормальный, но нет
Vladislav
Лондон и Осло
Vasily
Кароч, @Dolfik , как оно?
Nikolay
Кароч, @Dolfik , как оно?
Щас разбираюсь
Nikolay
Как правильно Async внутри async вызвать?
Ayrat
Ну тебе ещё и близко будет как переедешь, хех
Да, но я не уверен как визы работают между негражданином Ирландии и ГрейтБритан
Ayrat
Как правильно Async внутри async вызвать?
стартчайлд? или что ты именно хочешь
Vasily
let! это если ждешь
Vasily
Надеешься и веришь
Hog
Надеешься и веришь
что зазвонят опять колокола? )
Vasily
что зазвонят опять колокола? )
Вот ща ты совсем не палился
Vladislav
Там кстати пилят let! ... and
Vladislav
Чтоб сразу ждать
Vladislav
Вроде как
Vladislav
Несколько
Ayrat
StartChild возвращает Async<Async<a>> т.е. это генератор чайлдов на возможный A делается как-то так let! childAsync = Async.StartChild async ... // в этом месте childAsync уже работает где-то параллельно let! childResult = childAsync
Nikolay
стартчайлд? или что ты именно хочешь
У меня функция startBot - async, внутри при успешном запросе к апи вызывает функцию runBot, она тоже Async
Nikolay
И вот как вызвать runBot?
Nikolay
Async.Start?
Vasily
Ну можно и так
Vasily
А ниже Console.Readline() МВАХАХАХХА
Nikolay
Потыкайте мяу
Nikolay
Кажется щас лучше
Nikolay
Хотя, нет :D
Vasily
Опять завис
Nikolay
Щас посмотрим, что виснет
Vasily
Похоже, где-то loop забыт