diff options
| author | franck cuny <franck@lumberjaph.net> | 2010-04-13 18:46:54 +0200 |
|---|---|---|
| committer | franck cuny <franck@lumberjaph.net> | 2010-04-13 18:46:54 +0200 |
| commit | d18213e3c6956540e21d738b411b00e9eb71dc4e (patch) | |
| tree | 784913af63e25499c89033682b2caccfc2d000dd /lib/presque.pm | |
| parent | initial commit (diff) | |
| download | presque-d18213e3c6956540e21d738b411b00e9eb71dc4e.tar.gz | |
basic REST job queue using tatsumaki + redis
Diffstat (limited to 'lib/presque.pm')
| -rw-r--r-- | lib/presque.pm | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/lib/presque.pm b/lib/presque.pm index 2116589..5d168d6 100644 --- a/lib/presque.pm +++ b/lib/presque.pm @@ -1,8 +1,42 @@ package presque; -use strict; -use warnings; +use Moose; our $VERSION = '0.01'; +extends 'Tatsumaki::Application'; + +use AnyEvent::Redis; + +use presque::RestQueueHandler; +use presque::JobQueueHandler; +use presque::IndexHandler; + +has config => ( + is => 'rw', isa => 'HashRef', lazy => 1, default => sub {} +); + +has redis => ( + is => 'rw', + isa => 'Object', + lazy => 1, + default => sub { + my $self = shift; + my $r = AnyEvent::Redis->new(); + $r; + } +); + +sub app { + my ( $class, %args ) = @_; + my $self = $class->new( + [ + '/q/(.*)' => 'presque::RestQueueHandler', + '/j/(.*)' => 'presque::JobQueueHandler', + '/' => 'presque::IndexHandler', + ] + ); + $self->config( delete $args{config} ); + $self; +} 1; __END__ |
