Size: a a a

2021 April 22

G

George in Rust Async
Она вызывает меня.
источник

G

George in Rust Async
И интерфейс строго синхронный.
источник

П

Пух in Rust Async
Ну по идее нативненькие то треды можно из длл пускать же
источник

KR

Kai Ren in Rust Async
Ну хорошо, да. А зачем тебе результата не ждать?
источник

G

George in Rust Async
Да, но я не придумал, как собственно тред запустить в статике.
источник

П

Пух in Rust Async
С ограничениями типа dllmain вроде
источник

П

Пух in Rust Async
А там нет какого-нибудь коллбека init?
источник

G

George in Rust Async
Потому что mysql ждёт ответа от функции, а я в это время делаю запрос... И она ждёт, ждёт... И так на каждый триггер. И запрос в сеть просто засчёт всякой фигни типо TLS-рукопожатий в итоге ДОЛГИЙ. У курла по крайней мере. Я хочу убрать это ожидание, отправив таску с самим запросом в обработку куда подальше. До таски я просто чекаю указатели и проверяю, что все нужные для неё данные в наличии.
источник

KR

Kai Ren in Rust Async
А что делает твоя функция?
источник

G

George in Rust Async
Функции mysql зовёт по-очереди.
xxx_init, xxx, xxx_deinit
источник

G

George in Rust Async
По триггеру отправляет переданные из mysql данные в другое место по http. URL зашиты в колонки.
источник

П

Пух in Rust Async
На каждый вызов xxx по иниту и деиниту?
источник

KR

Kai Ren in Rust Async
И тебе не важен результат отправились данные, либо нет?
источник

G

George in Rust Async
Да.
источник

G

George in Rust Async
Да. Я могу это в самой асинхронной таске проверять и ретраить, чтобы не тормощить mysql.
Если выражаться точнее, результат не важен не мне, а mysql. Ей я верну 0 просто если данные верны. Сам с ними разберусь в таске.
источник

П

Пух in Rust Async
треды на каждый вызов спавнить наверн вообще слабоумие и отвага
источник

G

George in Rust Async
Слишком дорого, вы что.
источник

П

Пух in Rust Async
Можно демона в фоне пустить
источник

KR

Kai Ren in Rust Async
Ну тогда как выше писал. Клади рантайм в once_cell, он проинициализируется на первом использовании, а дальше в своих функциях делай spawn тасок на нём и всё. Он не блокирует текущий поток, но запускает таску на выполнение, и ты о ней можешь забыть себе.
источник

G

George in Rust Async
Там сами проверки указателей наносекунды займут, конверсия в json тоже самописная и втупую.
источник