Size: a a a

2020 June 29

DM

Dmitriy Momotyuk in Modern::Perl
нескольких запросов к бд или к внешним источникам например
источник

AP

Anton Petrusevich in Modern::Perl
Запрос к БД форками параллелится куда лучше
источник

DM

Dmitriy Momotyuk in Modern::Perl
внутри увсги приложения?
источник

DM

Dmitriy Momotyuk in Modern::Perl
ну и ещё dbd::pg умеет в non-blocking, зачем вообще форки
источник

AP

Anton Petrusevich in Modern::Perl
Dmitriy Momotyuk
внутри увсги приложения?
В чем проблема? Он умеет префорк и подобное
источник

DM

Dmitriy Momotyuk in Modern::Perl
я не понимаю зачем
есть запрос на веб сервер, в рамках которого делаются несколько запросов в бд или к внешним сервисам (и получаются данные), зачем мне там префорки и подобное? какое-то намеренное усложнение
источник

AP

Anton Petrusevich in Modern::Perl
Dmitriy Momotyuk
ну и ещё dbd::pg умеет в non-blocking, зачем вообще форки
ну... dbd::pg поддерживает асинхронность немного не до конца: у него синхронный коннект к базе и он умеет асинхронно ждать ответ от сервера, но читать его хочет всегда целиком.
источник

AP

Anton Petrusevich in Modern::Perl
Dmitriy Momotyuk
я не понимаю зачем
есть запрос на веб сервер, в рамках которого делаются несколько запросов в бд или к внешним сервисам (и получаются данные), зачем мне там префорки и подобное? какое-то намеренное усложнение
префорки делает ювсги, типа как это умеет апач.
источник

AP

Anton Petrusevich in Modern::Perl
я делал одновременно префорки и коро. просто чтобы ядра не простаивали
источник

AP

Anton Petrusevich in Modern::Perl
Dmitriy Momotyuk
я не понимаю зачем
есть запрос на веб сервер, в рамках которого делаются несколько запросов в бд или к внешним сервисам (и получаются данные), зачем мне там префорки и подобное? какое-то намеренное усложнение
обрати внимание на автора модуля: https://metacpan.org/source/ANTONPETR/DBIx-PgCoroAnyEvent-0.04/t/01_sleeps.t
источник

AP

Anton Petrusevich in Modern::Perl
я, в общем, представляю тему.
источник

AP

Anton Petrusevich in Modern::Perl
Dmitriy Momotyuk
я не понимаю зачем
есть запрос на веб сервер, в рамках которого делаются несколько запросов в бд или к внешним сервисам (и получаются данные), зачем мне там префорки и подобное? какое-то намеренное усложнение
асинхронные запросы к внешним вебсерверам — ты их линейно ж делаешь? тогда нахрена ае? то же и про запросы к дб. как только ты их параллелишь, то тебе нужен пул коннектов, ты не можешь асинхронно к дб ходить. https://metacpan.org/source/ANTONPETR/DBIx-Connector-Pool-0.02/t/01_pool.t
источник

DM

Dmitriy Momotyuk in Modern::Perl
я настолько низкоуровнено обычно не лажу и не очень то хочется
у нас есть модуль у моего бывшего коллеги, по сути dbd::pg на промисах, он решает поставленную задачу и ок
https://metacpan.org/pod/DBIx::Poggy
источник

DM

Dmitriy Momotyuk in Modern::Perl
о, ну мы, к сожалению, пришли к тому что можно бесконечно что-то делать лучше ради ничего
источник

DM

Dmitriy Momotyuk in Modern::Perl
Anton Petrusevich
асинхронные запросы к внешним вебсерверам — ты их линейно ж делаешь? тогда нахрена ае? то же и про запросы к дб. как только ты их параллелишь, то тебе нужен пул коннектов, ты не можешь асинхронно к дб ходить. https://metacpan.org/source/ANTONPETR/DBIx-Connector-Pool-0.02/t/01_pool.t
что значит линейно? есть ae::http + promises, вот оно там как-то работает, а как - мне не сильно важно
источник

DM

Dmitriy Momotyuk in Modern::Perl
я стараюсь не опускаться до столь низкоуровневых знаний и реализаций
источник

DM

Dmitriy Momotyuk in Modern::Perl
как только существующей реализации / технологии станет недостаточно, тогда и буду копать как сделать лучше
источник

DM

Dmitriy Momotyuk in Modern::Perl
пока что не приходилось
источник

AP

Anton Petrusevich in Modern::Perl
Dmitriy Momotyuk
о, ну мы, к сожалению, пришли к тому что можно бесконечно что-то делать лучше ради ничего
"новая технология", а коро можно считать такой по отношению к обычному способу программирования хендлеров, должн решать задачу либо лучше "обычной", либо давать новые возможности, которых не было раньше. вовсне не просто "потому, что мы так можем". запросы к внешним сервисам и даже просто более одного подряд к дб — это сценарии. программировать сценарии на колбеках, как это предлагается в АЕ — это затрахаться можно. тут на помощь приходит коро, но какую задачу перед этим решал АЕ? обычный веб-сервер нормально обслуживается стандартным механизмом пре-форков. ае+коро должны появляться в ответ на какие то требования. я знаю ровно одно — это вебсокеты.
источник

DM

Dmitriy Momotyuk in Modern::Perl
Anton Petrusevich
"новая технология", а коро можно считать такой по отношению к обычному способу программирования хендлеров, должн решать задачу либо лучше "обычной", либо давать новые возможности, которых не было раньше. вовсне не просто "потому, что мы так можем". запросы к внешним сервисам и даже просто более одного подряд к дб — это сценарии. программировать сценарии на колбеках, как это предлагается в АЕ — это затрахаться можно. тут на помощь приходит коро, но какую задачу перед этим решал АЕ? обычный веб-сервер нормально обслуживается стандартным механизмом пре-форков. ае+коро должны появляться в ответ на какие то требования. я знаю ровно одно — это вебсокеты.
я не смогу ответить на этот вопрос, так как не принимал участия в этом
источник