В чем преимущества использования DBIx::Connector перед простой установкой mysql_auto_reconnect в 1?

При работе с постоянными соединениями MySQL возникает одна проблема - они обрываются после определенного таймаута (обычно 28800 секунд). DBIx::Connector вроде бы выполняет работу по автоматическому переподключению к прерванному соединению, но он добавляет больше кода Perl к каждому SQL-оператору, что может раздражать. Например, вместо:

    $dbh->do('DROP DATABASE stackoverflow');

Нужно сказать:

    $conn->run(
        fixup => sub {
            my $dbh = shift;
            $dbh->do('DROP DATABASE stackoverflow');
        }
    );

Предположим, что транзакции не нужны. Зачем использовать DBIx::Connector вместо того, чтобы передать $dbh->{mysql_auto_reconnect} = 1, что также хорошо работает?

5
задан Alec Alameddine 24 April 2019 в 14:57
поделиться