Size: a a a

2021 September 12

NK

Nick Knutov Dobrohos... in Modern::Perl
а еще у меня есть кеш объектов - если конструктор с этими же данными уже вызывался - я сохраняю в глобальном для текущего хттп запроса хеше ссылку на готовый объект - чтобы экономить на запросах к БД. На сколько это будет безопасно, если я хочу параллельную обработку запросов одним воркером? (понятно, что тут хеш этот видимо засунуть в хелперы в например state
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
в коде дансера это что-то типа

our $usercache;
register user => sub {
 my $uid = shift;
 $usercache->{$uid} ||= User->new($uid);
 return $usercache->{$uid};
};
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
нашел https://docs.mojolicious.org/Mojolicious/Guides/Growing который, наверное, отвечает на все мои вопросы, кроме того что мне надо передавать хандлеры к бд и всё должно быть способно безопасно работать многопоточно
источник

P

Pavel in Modern::Perl
@knutov лучше посмотри проекты типа Galileo https://github.com/jberger/Galileo/blob/master/lib/Galileo.pm ,
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
хотелось бы именно моджолайт
источник

P

Pavel in Modern::Perl
Коннект к бд лучше делать до лупа + юзать что-то типа dbix connector, в хелпере просто дергаешь объект из app.
источник

P

Pavel in Modern::Perl
Имхо тупиковый путь этот моджолайт. Начнет распухать приложение придется все равно переписывать на моджо
источник

IB

Ivan Bessarabov in Modern::Perl
Почему именно lite?
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
ну вот у меня гигантские монолиты на дансере и ок. чистый моджо - это очень много букв там, где непонятно зачем.
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
мне нравится dsl. Мало букв - лучше.
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
это во многом про скорость написания и легкость понимания что я тут накодил 10 лет спустя
источник

P

Pavel in Modern::Perl
Вот когда я переписывал моджолайт в 15000 строк, я просветлился и понял что лайт зло
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
а чем конкретно?
источник

IB

Ivan Bessarabov in Modern::Perl
А как это все будет устроено? Каждое приложение — отдельный докер контейнер со своим окружением и библиотеками или все mojo lite приложухи будут крутится на одном сервере?
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
каждое приложение - отдельный домен/сайт с скриптом для запуска через fastcgi. Всё вместо это запускается в рамках шаред хостинга. Не обязательно под одним юзером или на одном сервере
источник

IB

Ivan Bessarabov in Modern::Perl
а как управляешь где какие библиотеки используются?
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
ну вообще они везде используются одинаковые, поэтому хоть глобально ставить, но, конечно, Carton
источник

AP

Anton Petrusevich in Modern::Perl
что-то я подумал и решил ничего не советовать :)
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
хотя вру, в половине случаев по старинке просто список с модулями, которые передаются на вход cpm
источник

NK

Nick Knutov Dobrohos... in Modern::Perl
да понятно, что я одно спагетти переписываю на другое )
источник