Cache-Memcached-PDeque
view release on metacpan or search on metacpan
lib/Cache/Memcached/PDeque.pm view on Meta::CPAN
# automatically removed. Sounds great, and 1 second is an enternity, right?
# WRONG! When set to 1, some of the test scripts sometimes fail due to a lock
# being deleted by memcached. Which is very strange as a 1 second timeout for
# just 1 single lock is a lot for a script that on my system requires less
# than 300 msec to do everything... Conclusion: don't set this to 1!
# 0, on the other hand, should be ok, as it means 'no timeout'.
'timeout' => 2,
@_
);
confess("Timeout must not be '1'") if $arg{'timeout'} == 1;
while (1) {
my $have_lock = $self->memcached->add("$priority:lock", $$, $arg{'timeout'});
last if $have_lock;
sleep(.1);
}
affirm {
my $locked_by = $self->memcached->get("$priority:lock");
$$ == $locked_by;
( run in 0.238 second using v1.01-cache-2.11-cpan-4d50c553e7e )