dnet-applications/apps/dhp-broker-application/src/test/resources/scripts/perl/eventImporter.pl

49 lines
916 B
Perl

#!/usr/bin/perl
use strict;
use utf8;
use Net::RabbitMQ;
binmode STDOUT, ':utf8';
my $host = 'broker1-dev-dnet.d4science.org';
my $user = 'r_admin';
my $passwd = '9g8fed7gpohef9y84th98h';
my $queue = 'events_queue';
my @files = @ARGV;
die "Missing input file" unless (@files);
foreach my $inputFile (@files) {
die "File does not exist" unless (-e $inputFile);
open(my $fh, '<:encoding(UTF-8)', $inputFile) or die "Could not open file '$inputFile' $!";
print "Populating $queue from file $inputFile...\n";
my $mq = Net::RabbitMQ->new();
$mq->connect($host, { user => $user, password => $passwd });
$mq->channel_open(1);
my $count = 0;
while (<$fh>) {
my $line = $_;
$mq->publish(1, $queue, $line) if ($line);
if ($count++ == 10000) {
sleep 5;
$count = 0;
}
}
close($fh);
$mq->disconnect();
print "Waiting 60 seconds...\n";
sleep 60;
}
print "Done.\n\n";
1;