AnyEvent-Pg-Pool-Multiserver

 view release on metacpan or  search on metacpan

example/ex.pl  view on Meta::CPAN

  },
);

$cv->recv;

$cv = AE::cv;

# multi-server request with sub-callbacks to some data manipulation
# and may be to make another request to current server

# main request | server_1 select -> ... select end -> cb_server call -> subrequests to current server | wait both   | global callback
#              | server_2 select -> ... select end -> cb_server call -> subrequests to current server | subrequests |

$pool->selectall_arrayref(
  query  => 'SELECT val FROM ( SELECT 1 AS val ) tmp WHERE tmp.val = $1;',
  args   => [ 1 ],
  cb     => sub {
    my $results = shift;
    my $errors  = shift;

    if ( $errors ) {

lib/AnyEvent/Pg/Pool/Multiserver.pm  view on Meta::CPAN

  $pool->selectall_arrayref(
    query     => 'SELECT val FROM ( SELECT 1 AS val ) tmp WHERE tmp.val = $1;',
    args      => [ 1 ],
    server_id => 1,
    cb        => sub { ... },
  );

  # multi-server request with sub-callbacks to some data manipulation
  # and may be to make another request to current server

  # main request | server_1 select -> ... select end -> cb_server call -> subrequests to current server | wait both   | global callback
  #              | server_2 select -> ... select end -> cb_server call -> subrequests to current server | subrequests |

  $pool->selectall_arrayref(
    query  => 'SELECT val FROM ( SELECT 1 AS val ) tmp WHERE tmp.val = $1;',
    args   => [ 1 ],
    cb     => sub { ... },
    cb_server => sub {
      my $params = { @_ };

      my $result_of_main_request = $params->{result};



( run in 0.597 second using v1.01-cache-2.11-cpan-49f99fa48dc )