Size: a a a

2020 December 04

d

diabolo in Rust Async
вот с асинк-стд у тебя такое не прокатит
источник

d

diabolo in Rust Async
Anton
Помнится запускал посгрес, и request blocking, которые создают рантайм внутри себя, было весело
вот про постгрес можно точнее? он ваще ни разу нигде не асинхронный, ну почти)
источник

A

Anton in Rust Async
diabolo
вот про постгрес можно точнее? он ваще ни разу нигде не асинхронный, ну почти)
Postgres, внутри себя создает рантайм токио 0.2 и там внутри tokio-postgres, reqwest blocking, работает так же, создает рантайм и в не запускает асинхронный код
источник

d

diabolo in Rust Async
разные модели транзакций только не намешивай — это другое
источник

d

diabolo in Rust Async
Anton
Postgres, внутри себя создает рантайм токио 0.2 и там внутри tokio-postgres, reqwest blocking, работает так же, создает рантайм и в не запускает асинхронный код
ты про постгрес или про клиент постгреса?
источник

A

Anton in Rust Async
diabolo
ты про постгрес или про клиент постгреса?
Crate postgres
источник

d

diabolo in Rust Async
Anton
Crate postgres
а я конкретно про СУБД говорю
источник

A

Anton in Rust Async
Каким боком субд кирасту относится?
источник

A

Anton in Rust Async
Вобще то говорил я, а ты понял по своему
источник

d

diabolo in Rust Async
у постгреса нет полноценного асинхронного протокола, потому что внутри нет полноценного асинхронного пулинга, все о чем ты говоришь — это то, что за тебя делают клиентские драйвера — это эмуляция асинхронности
источник

A

Anton in Rust Async
Товарищ, мы о запуске двух рантаймов, а не о реализации
источник

A

Anton in Rust Async
https://docs.rs/postgres/0.18.1/postgres/
This crate is a lightweight wrapper over tokio-postgres. The postgres::Client is simply a wrapper around a tokio_postgres::Client along side a tokio Runtime. The client simply blocks on the futures provided by the async client.
источник

d

diabolo in Rust Async
Anton
Товарищ, мы о запуске двух рантаймов, а не о реализации
если о запуске двух рантаймов, то в Токио это не проблема, проблема в итоге будет у тебя в синхронизации данными между ними... одно дело как пример привели актикс, да там все просто хоть 10 рантаймов пускай на десять разных скоупов авторов, другое дело работа с бд
источник

A

Anton in Rust Async
Anton
https://docs.rs/postgres/0.18.1/postgres/
This crate is a lightweight wrapper over tokio-postgres. The postgres::Client is simply a wrapper around a tokio_postgres::Client along side a tokio Runtime. The client simply blocks on the futures provided by the async client.
Два таких крейта в одном потоке не поюзаешь
источник

d

diabolo in Rust Async
отдел мух от котлет, крейты от потоков и задачи от хотелок
источник

d

diabolo in Rust Async
я могу это запустить двумя транзакциями и кто первый тот и прав
источник

A

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

d

diabolo in Rust Async
Anton
Вобще все было изначально к тому что токио запускает рантайм и привчзывает его к треду, и если он создает новый тред, то приносит рантайм и в него, и с собой его носить не нужно
нет, вот как раз так делает асинк-стд
источник

A

Anton in Rust Async
Я назвал это некоретно глобальный, на самом деле имел ввиду, что контекст в том треде гдеивыпоняется мой код, есть всегда, если я вручную не создаю треды
источник

d

diabolo in Rust Async
Anton
Я назвал это некоретно глобальный, на самом деле имел ввиду, что контекст в том треде гдеивыпоняется мой код, есть всегда, если я вручную не создаю треды
ещё раз нет. я вроде кидал сюда общую схему, вот только вряд ли я её сохранил, но ща поищу
источник