On Tue, Jun 17, 2008 at 5:27 PM, J. Shirley <[EMAIL PROTECTED]> wrote: > On Tue, Jun 17, 2008 at 2:31 PM, Mitchell K. Jackson > <[EMAIL PROTECTED]> wrote: >> Good afternoon, >> >> Is there a graceful way for a catalyst app to handle when the database >> server goes away? If this happens while a process is holding open a >> database connection it's already been using, there's not even a >> database error to the log. The only error is "read data timeout in 40 >> seconds", and an error 500 to the web browser. >> >> I would like my app to be able to deliver a more useful error to the >> end user, such as "Lost database connection." If I can retain control >> of the app in this event, I'll have it send me an sms for good >> measure. Any ideas how I could go about this? >> >> Regards, >> >> /Mitchell K. Jackson >> > > > That's really up to the model you are using. Catalyst doesn't handle > databases :) > > If you are using DBIx::Class, I'd be surprised if it doesn't do the > right thing already. > > As far as catching the error, make sure that your model throws a > proper exception and you can catch that in the end action. > > Something like this is what I tend to use:
[snip] are you using Catalyst::Plugin::Session::Store::DBIC like he is? we're using code identical to what you suggested, but it doesn't work for exceptions generated in finalize_headers. try it. take your database down and start the application. any suggestions? -mike _______________________________________________ List: [email protected] Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
