Amazon-SQS-Simple

 view release on metacpan or  search on metacpan

bin/sqs-toolkit  view on Meta::CPAN

    q_info($q);
}

if ($opts{flush}) {
    q_flush($q);
}

if ($opts{delete}) {
    q_delete($q);
}

sub q_find {
    my $name = shift;
    my $queues = $sqs->ListQueues(QueueNamePrefix => $name);
    if ($queues) {
        my @matches = grep { $_->Endpoint() =~ m|/$name$|} @$queues;
        if (@matches > 1) {
            warn "[WARNING] Multiple queues found with name $name\n";
        }
        if (@matches) {
            return $matches[0];
        }
    }
    die "No queue called $name found (try using --list-queues)\n";
}

sub q_create {
    my $name = shift;
    $sqs->CreateQueue($name);
}

sub q_delete {
    my $queue = shift;
    my $href = $queue->Delete();
}

sub q_info {
    my $queue = shift;
    print "Endpoint: $queue\nAttributes:\n";
    my $attrs = $queue->GetAttributes();
    for (keys %$attrs) {
        print "$_ => $attrs->{$_}\n";
    }
}

sub q_flush {
    my $queue = shift;
    while (my $msg = $queue->ReceiveMessage) {
        if ($opts{verbose}) {
            print "Deleting " . $msg->MessageId . "\n";
        }
        $queue->DeleteMessage($msg->ReceiptHandle);
    }
}

sub q_timeout {
    my $queue = shift;
    my $t = shift;

    if (defined $t) { 
        $queue->SetAttribute('VisibilityTimeout', $t);
    }
    else {
        my $href = $queue->GetAttributes();
        return $href->{VisibilityTimeout};
    }
}



( run in 2.048 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )