NAME
MooseX::KeyedMutex - Role To Add KeyedMutex
SYNOPSIS
package MyClass;
use Moose;
with 'MooseX::KeyedMutex';
no Moose;
$object = MyClass->new( mutex => $mutex );
$object = MyClass->new(
mutex => {
args => {
sock => '....',
}
}
);
if (my $lock = $object->lock($name)) {
....
}
DESCRIPTION
MooseX::KeyedMutex adds instant distributed locking to you objects via KeyedMutex.
METHODS
lock($key)
Attempts to acquire a lock by the name $key. On success, returns a KeyedMutex::Lock object. On failure, returns undef.
In case the object has *NOT* been initialized with a proper keyedmutex, lock() automatically goes into degraded mode and will immediately return success. In such cases, '0E0' will be returned.
mutex_required
If set to true, MooseX::KeyedMutex will croak whenever an attempt to lock is issued but no mutex is available
AUTHOR
Daisuke Maki <daisuke@endeworks.jp>
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html