Eixo-Queue

 view release on metacpan or  search on metacpan

lib/Eixo/Queue/QueueRabbit.pm  view on Meta::CPAN

package Eixo::Queue::QueueRabbit;

use strict;
use Scalar::Util qw(weaken);

use Eixo::Base::Clase "Eixo::Queue";

use Eixo::Queue::JobCifrador;
use Eixo::Queue::RabbitDriver;


has(


lib/Eixo/Queue/QueueRabbit.pm  view on Meta::CPAN

    );
}

sub suscribe :Sig(self, CODE){
    my ($self, $callback, $job_class) = @_;

    $job_class = $job_class || "Eixo::Queue::Job";

    my $kself = $self;

    weaken($kself);

    $self->__suscribe(

        $self->routing_key,

        sub {
            my ($message, $next, $end) = @_;

            my $job = $kself->__decryptJob(

lib/Eixo/Queue/QueueRabbit.pm  view on Meta::CPAN

        }

    );
}

sub wait :Sig(self, s, CODE, s){
    my ($self, $routing_key_wait, $callback, $job_class, $timeout) = @_;

    my $kself = $self;

    weaken($kself);

    $timeout && eval{

        local $SIG{ALRM} = sub {

            $kself->driver->terminar();    

            $callback->("TIMEOUT");

         #   alarm(0);



( run in 0.252 second using v1.01-cache-2.11-cpan-65fba6d93b7 )