Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- #
- package DsnSubmitter3;
- use strict;
- use warnings;
- use Data::Dumper;
- use DBD::Pg; [0/1978]
- use File::Basename qw( fileparse );
- use File::Path qw( make_path );
- print STDERR scalar(localtime())." DsnSubmitter3 warm-up, ver: $VERSION\n";
- my $dbh=pg_connect();
- $dbh->trace(1, 'tracelog.txt');
- my $sall= $dbh->prepare("
- SELECT distinct on (id,action,sender,recipient,diagnostic)
- R.id as id,X.origid as origid,status as action,sender,R.rcpt as recipient,diagnostic,xconnectorid,ORP.origrcpt
- FROM
- rcptstatus R INNER JOIN xconnectorid X on (X.id=R.id)
- LEFT OUTER JOIN origrcpt ORP on (X.origid=ORP.origid AND R.rcpt=ORP.rcpt)
- WHERE status is not null and X.origid is not null and R.id is not null and synced is null and xconnectorid like '%server.domain-services.com%' and R.rcpt <> 'support\@domain-services.com'
- union all
- SELECT distinct on (id,action,sender,recipient,diagnostic)
- R.id as id,X.origid as origid,status as action,sender,R.rcpt as recipient,diagnostic,xconnectorid,ORP.origrcpt
- FROM
- rcptstatus R INNER JOIN xconnectorid X on (X.id=R.id)
- LEFT OUTER JOIN origrcpt ORP on (X.origid=ORP.origid AND R.rcpt=ORP.rcpt)
- WHERE status is not null and X.origid is not null and R.id is not null and synced is null and xconnectorid not like '%server.domain.com%' and R.rcpt <> 'support\@domain.com'
- ")||die;
- my $synced = $dbh->prepare("update rcptstatus set synced=now(),httpcode=? where id=? and rcpt=?")||die;
- my $tmpsynced = $dbh->prepare("update rcptstatus set synced=now() where id=? and rcpt=? and status=?")||die;
- my $statusdelivered = $dbh->prepare("update xconnectorid set statusdelivered=now() where id=?")||die;
- my $rpt=1229;
- my $lastHttpCode=undef;
- my $rowcnt=$sall->execute() or die "error\n";
- while ( my $row = $sall->fetchrow_hashref )
- {
- print "got row : $row->{'xconnectorid'}\n";
- }
- print("got $rowcnt rows\n");
- sub pg_connect {
- my ($dbname,$dbhost,$port)=("db","172.17.0.208","5432");
- my ($user,$pass)=("login","sekrit");
- my $dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$dbhost;port=$port;", $user, $pass, {AutoCommit => 1,RaiseError=>0,PrintError=>0})||die;
- print ("connected\n");
- return $dbh;
- }
Advertisement
Add Comment
Please, Sign In to add comment