f3ath/flock

Simple locking mechanism on top of flock(). Ideal for cron jobs.

Installs: 19

Dependents: 0

Watchers: 1

Language: PHP

0.0.3 2014-03-12 22:32 UTC

README

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
}