IPC-ConcurrencyLimit-Lock-Redis
view release on metacpan or search on metacpan
t/02basic.t view on Meta::CPAN
ok(!$limit->is_locked, 'We do not have a lock');
is($limit->lock_id, undef, 'No lock');
$id = $limit->get_lock;
is($id, 1, 'New lock returns same id');
my $limit2 = IPC::ConcurrencyLimit->new(%args);
my $id2 = $limit2->get_lock();
is($id2, undef, 'Cannot get second lock');
ok($limit->heartbeat, 'Lock alive');
SCOPE: {
my $_lock = $limit->{lock_obj}; # breaking encapsulation
is($conn->hget($_lock->key_name, $_lock->id),
$_lock->uuid . "-" . $_lock->proc_info,
"UUID/procinfo ok");
}
is($limit->release_lock(), 1, 'Lock released');
ok(!$limit->heartbeat, 'Lock not alive');
$id2 = $limit2->get_lock();
is($id2, 1, 'Got other lock after first was released');
}
SCOPE: {
my $limit = IPC::ConcurrencyLimit->new(%args, max_procs => 2);
isa_ok($limit, 'IPC::ConcurrencyLimit');
my $id = $limit->get_lock;
( run in 1.106 second using v1.01-cache-2.11-cpan-39bf76dae61 )