pgqd: apply connection lifetime to ticker connection
authorMarko Kreen <markokr@gmail.com>
Wed, 3 Nov 2010 15:50:10 +0000 (17:50 +0200)
committerMarko Kreen <markokr@gmail.com>
Wed, 3 Nov 2010 15:50:10 +0000 (17:50 +0200)
sql/ticker/pgqd.c
sql/ticker/pgqd.h
sql/ticker/ticker.c

index f37abb0b2e19b9427107b175aea6496539819f2a..750f6f02b6f7f94ccf243ca8a161ae4141bc320f 100644 (file)
@@ -55,6 +55,7 @@ static const struct CfKey conf_params[] = {
        { "retry_period", CF_REL_TIME_DOUBLE(retry_period), "30" },
        { "ticker_period", CF_REL_TIME_DOUBLE(ticker_period), "1" },
        { "stats_period", CF_REL_TIME_DOUBLE(stats_period), "30" },
+       { "connection_lifetime", CF_REL_TIME_DOUBLE(connection_lifetime), "3600" },
        { NULL },
 };
 
index 97da7b68f53bd8913e6128fe168aecc3c341169e..6a2776bb0506ef3fc60c372e09ed65f516ae1064 100644 (file)
@@ -59,6 +59,8 @@ struct Config {
        double maint_period;
        double ticker_period;
        double stats_period;
+
+       double connection_lifetime;
 };
 
 struct Stats {
index a833c62b6d5ded108e1b8aae1b2745caa764338c..cf2515902ce1e63472e953f1c24297cfe5660455 100644 (file)
@@ -123,6 +123,7 @@ void launch_ticker(struct PgDatabase *db)
        if (!db->c_ticker) {
                const char *cstr = make_connstr(db->name);
                db->c_ticker = pgs_create(cstr, tick_handler, db);
+               pgs_set_lifetime(db->c_ticker, cf.connection_lifetime);
        }
        pgs_connect(db->c_ticker);
 }