Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

AnyEvent and fd watching...

by Maks (Initiate)
on Jan 07, 2013 at 05:01 UTC ( #1011947=perlquestion: print w/replies, xml ) Need Help??
Maks has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks! I want to watch different databases with AnyEvent as described on Example works fine agains singe database but not with AnyEvent. Here me testing code

sub start_listen{ my $db_base = DB::Base->new($config{database}); my $connection_strings = $db_base->get_connection_strings(); if( $connection_strings ){ my $dbh; for( @{$connection_strings} ){ $dbh = $db_base->get_connection(@{$_}); push @dbhs, $dbh; # print "@{$_}[0] ($dbh->{pg_socket})\n"; # 1. send listen command for each database print "LISTEN request command send to DB: @{$_}[0]\n"; # 2. create hash to find with database send NOTIFY %[ sock +et => dbh ] my $watcher; $watcher = AnyEvent->io( fh => $dbh->{pg_socket}, poll => "r", cb => sub{ print "TEST\n"; my $fh = shift; while(<$fh>){ print STDOUT $_; } } ); } } if( @dbhs ){ print "Now we are listen for " . @dbhs . " connectio +n(s)!\n"; } else { print "Nothing to listen!\n"; } };
I need your advice!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1011947]
Approved by davido
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2018-07-20 01:43 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (422 votes). Check out past polls.