Hello Monks,

I'm writing some code that makes database connections for me, I want it to be robust enough to retry the connection if it fails without having to wait the default DBI timeout period.

Is it possible to set the timeout value for DBI::connect()? If not, is it safe to alarm out of a connect(), or is there a better way? The pod does discuss alarm signals, but does not describe using them with a connect().

Also, do DBI database handles have a method to test if the connection to the database is active? I'd like to be able to do this both to make sure my connection was successful and also later to make sure the connection didn't drop. I'm assuming that since Apache::DBI is smart enough to re-create connections whenever they drop that it must have some way of doing this.

Thanks for any help!


In reply to DBI Timeout and Retry on Connect by ehdonhon

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.