in reply to Re^4: Ignoring/Trapping the DIE signal
in thread Ignoring/Trapping the DIE signal
Yeah, the performance cost is why I only update the DB after a successful send, and then only with basic info, not all the different pkt type counts.You could consider using a shared memory segment or mmap'd file for this sort of information; they're very fast, but the OS can provide persistence even if your process dies.
As for the eval{}, feel free to try it on the above code.Well, the code below worked for me reliably over a few hundred connects...
#!/usr/bin/perl use warnings; use strict; use DBI; while(1) { eval { my $dbh = DBI->connect("DBI:mysql:database=test","blah","blah") or die "Couldn't connect to DB\n"; my $sth = $dbh->prepare("SELECT * FROM sometable\n") or die "Couldn't prepare\n"; $sth->execute() or die "Couldn't execute\n"; my @row = $sth->fetchrow_array(); $sth->finish; }; if ($@) { warn "DB error: $@"; } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^6: Ignoring/Trapping the DIE signal
by chrism01 (Friar) on Jun 16, 2006 at 01:55 UTC | |
by sgifford (Prior) on Jun 16, 2006 at 02:16 UTC |