X-Git-Url: http://git.rot13.org/?p=angular-mojolicious.git;a=blobdiff_plain;f=couchdb-trigger.pl;h=db5acb0955e6a0501ccf1a79c7c2bf2c3a65b0bf;hp=02f5c32951170fa997ca211081d5536e13a29fb6;hb=e05cae6cdb7a0c9a792a2d9b2e688e62748bfbb3;hpb=f6f884c13f556ab5e6e834d609fd6d72f6adf4db diff --git a/couchdb-trigger.pl b/couchdb-trigger.pl index 02f5c32..db5acb0 100755 --- a/couchdb-trigger.pl +++ b/couchdb-trigger.pl @@ -25,6 +25,7 @@ my ( $url, $trigger_path ) = @ARGV; $url ||= 'http://localhost:5984/monitor'; $trigger_path ||= 'trigger/shell.pm' ; +sub commit { warn "# commit ignored\n"; } require $trigger_path if -e $trigger_path; my $seq = 0; @@ -45,12 +46,9 @@ while( ! $error ) { $tx->res->body(sub{ my ( $content, $body ) = @_; - debug 'BODY' => $body; + return if length($body) == 0; # empty chunk, heartbeat? - if ( length($body) == 0 ) { - warn "# empty chunk, heartbeat?\n"; - return; - } + debug 'BODY' => $body; foreach ( split(/\r?\n/, $body) ) { # we can get multiple documents in one chunk @@ -83,7 +81,7 @@ while( ! $error ) { if ( $tx->res->code == 409 ) { info "TRIGGER ABORTED started on another worker? ", $tx->error; } else { - info "ERROR ", $tx->error; + info "ERROR $url/$id ", $tx->error; } } else { my $res = $tx->res->json; @@ -97,7 +95,7 @@ while( ! $error ) { $client->put( "$url/$id" => $json->encode( $change->{doc} ) => sub { my ($client,$tx) = @_; if ($tx->error) { - info "ERROR", $tx->error; + info "ERROR $url/$id", $tx->error; } else { my $res = $tx->res->json; $change->{doc}->{_rev} = $res->{rev}; @@ -114,6 +112,8 @@ while( ! $error ) { } + commit; + }); $client->start($tx);