miyagawa (owner)

Revisions

gist: 225398 Download_button fork
public
Description:
Resque client in Perl
Public Clone URL: git://gist.github.com/225398.git
Embed All Files: show embed
resque.pl #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package Resque;
use Any::Moose;
use Redis;
use JSON;
 
has server => (is => 'rw', isa => 'Str', default => 'localhost:6379');
has redis => (is => 'rw', isa => 'Redis', lazy_build => 1);
 
sub _build_redis {
    my $self = shift;
    Redis->new(server => $self->server);
}
 
sub push {
    my($self, $queue, $obj) = @_;
    my $key = "resque:queue:$queue";
    $self->redis->rpush($key, JSON::encode_json($obj));
}
 
sub pop {
    my($self, $queue, $obj) = @_;
    my $key = "resque:queue:$queue";
    JSON::decode_json( $self->redis->lpop($key) );
}
 
my $r = Resque->new;
$r->push('default', { class => 'ShellJob', args => [ 'which', 'cat' ] });