Changeset 15776 for lang/perl/Mvalve
- Timestamp:
- 07/14/08 11:13:37 (5 years ago)
- Location:
- lang/perl/Mvalve/trunk
- Files:
-
- 3 modified
-
lib/Mvalve.pm (modified) (7 diffs)
-
t/01_basic.t (modified) (1 diff)
-
t/03_extended.t (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Mvalve/trunk/lib/Mvalve.pm
r15772 r15776 17 17 my $coerce = sub { 18 18 my $default_class = shift; 19 my $prefix = shift; 19 20 return sub { 20 21 my $h = $_; 21 22 my $module = delete $h->{module} || $default_class; 23 if ($prefix && $module !~ s/^\+//) { 24 $module = join('::', $prefix, $module); 25 } 22 26 Class::MOP::load_class($module); 23 27 24 $module->new(% $h);28 $module->new(%{$h->{args}}); 25 29 }; 26 30 }; … … 28 32 coerce 'Mvalve::Throttler' 29 33 => from 'HashRef' 30 => $coerce->('Data::Valve' ), # XXX - no need to use via () here34 => $coerce->('Data::Valve', 'Mvalve::Throttler'), # XXX - no need to use via () here 31 35 ; 32 36 33 37 coerce 'Mvalve::Queue' 34 38 => from 'HashRef' 35 => $coerce->(' Mvalve::Queue::Q4M'), # XXX - no need to use via () here39 => $coerce->('Q4M', 'Mvalve::Queue'), # XXX - no need to use via () here 36 40 ; 37 41 } … … 41 45 => via { 42 46 my $h = $_; 43 my $module = delete $h->{module} || 'Mvalve::State::Memory'; 47 my $module = delete $h->{module} || 'Memory'; 48 if ($module !~ s/^\+//) { 49 $module = "Mvalve::State::$module"; 50 } 44 51 Class::MOP::load_class($module); 45 52 46 $module->new( memcached => $h);53 $module->new(%{$h->{args}}); 47 54 } 48 55 ; … … 61 68 return sub { 62 69 Class::MOP::load_class($class); 63 Mvalve::QueueSet->new;70 $class->new; 64 71 }; 65 72 }; … … 68 75 is => 'ro', 69 76 isa => 'Mvalve::QueueSet', 70 default => $default->( 'Mval e::QueueSet' )77 default => $default->( 'Mvalve::QueueSet' ) 71 78 ); 72 79 … … 198 205 data => { 199 206 destination => $destination, 200 ready => $retry,207 ready => int($retry * 1000), 201 208 message => $message->serialize, 202 209 } … … 276 283 throttler => { 277 284 module => 'Data::Throttler::Memcached', 278 max_items => $max, 279 interval => $interval, 280 cache => { 281 data => [ ... ] 285 args => { 286 max_items => $max, 287 interval => $interval, 288 cache => { 289 data => [ ... ] 290 } 282 291 } 283 292 } -
lang/perl/Mvalve/trunk/t/01_basic.t
r15346 r15776 16 16 my $mv = Mvalve->new( 17 17 throttler => { 18 max_items => 10, 19 interval => 20 18 args => { 19 max_items => 10, 20 interval => 20 21 } 20 22 }, 21 23 queue => { 22 connect_info => [ 23 $ENV{MVALVE_Q4M_DSN}, 24 $ENV{MVALVE_Q4M_USERNAME}, 25 $ENV{MVALVE_Q4M_PASSWORD}, 26 { RaiseError => 1, AutoCommit => 1 }, 27 ] 24 args => { 25 connect_info => [ 26 $ENV{MVALVE_Q4M_DSN}, 27 $ENV{MVALVE_Q4M_USERNAME}, 28 $ENV{MVALVE_Q4M_PASSWORD}, 29 { RaiseError => 1, AutoCommit => 1 }, 30 ] 31 } 28 32 } 29 33 ); -
lang/perl/Mvalve/trunk/t/03_extended.t
r15557 r15776 31 31 timeout => 1, 32 32 queue => { 33 connect_info => [ 34 $ENV{MVALVE_Q4M_DSN}, 35 $ENV{MVALVE_Q4M_USERNAME}, 36 $ENV{MVALVE_Q4M_PASSWORD}, 37 { RaiseError => 1, AutoCommit => 1 }, 38 ] 33 args => { 34 connect_info => [ 35 $ENV{MVALVE_Q4M_DSN}, 36 $ENV{MVALVE_Q4M_USERNAME}, 37 $ENV{MVALVE_Q4M_PASSWORD}, 38 { RaiseError => 1, AutoCommit => 1 }, 39 ] 40 } 39 41 }, 40 42 throttler => { 41 module => 'Data::Throttler::Memcached', 42 max_items => 1, 43 interval => 2, 44 cache => { 45 data => $ENV{MEMCACHED_SERVERS}, 46 namespace => $ENV{MEMCACHED_NAMESPACE}, 47 }, 43 module => 'Data::Valve', 44 args => { 45 max_items => 1, 46 interval => 1.4, 47 } 48 48 }, 49 49 state => { 50 module => 'Mvalve::State::Memcached', 51 servers => $ENV{MEMCACHED_SERVERS}, 52 namespace => $ENV{MEMCACHED_NAMESPACE}, 50 module => 'Memcached', 51 args => { 52 memcached => { 53 servers => $ENV{MEMCACHED_SERVERS}, 54 namespace => $ENV{MEMCACHED_NAMESPACE}, 55 } 56 } 53 57 } 54 58 );
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)