f3ath/flock

Simple locking mechanism on top of flock()

1.0.1 2017-10-03 23:01 UTC

This package is auto-updated.

Last update: 2024-12-05 06:15:38 UTC


README

Travis Build

Flock. Simple locking mechanism on top of flock()

Usage

$file = '/tmp/my_lock.pid';
$lock = new F3\Flock\Lock($file);

// Non-blocking case. Acquire lock if it's free, otherwse exit immediately
if ($lock->acquire()) {
    // only one instance can reach here
    ...
    // do some job
    ...
    $lock->release();
} else {
    die('Another process is running')
}


// Waiting case. Acquire lock if it's free, otherwse block until it's free and then acquire
if ($lock->acquire(F3\Flock\Lock::BLOCKING)) {
    // only one instance can reach here
    ...
    // do some job
    ...
    $lock->release();
} else {
    // We sould not get to this point in this case
}