Scope::Container::DBI version 0.04 でデータベースへの接続が失敗したときに、自動で接続をやり直す機能を付けてみた。

http://search.cpan.org/dist/Scope-Container-DBI/

retry機能を使うには、connectの際のattributesにオプションを追加します。

my $dbh = Scope::Container::DBI->connect(
    'dbi:mysql:mydb;host=myhost', 'myuser', 'mypasswd',{
        RaiseError => 1,
        mysql_connect_timeout => 1, 
        ScopeContainerConnectRetry => 3
        ScopeContainerConnectRetrySleep => 100
    }
);

ScopeContainerConnectRetry がretryする回数、ScopeContainerConnectRetrySleep は再接続する際のインターバルで、単位はミリ秒です。デフォルトはsleepしません。

このブログ記事について

このページは、Masahiro Naganoが2011年5月24日 11:00に書いたブログ記事です。

ひとつ前のブログ記事は「「ウェブオペレーション」を読みました」です。

次のブログ記事は「GreenBuckets ノード障害時の書き込み可用性を向上させた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja