An open API service indexing awesome lists of open source software.

https://github.com/f3ath/flock

Simple locking mechanism on top of flock()
https://github.com/f3ath/flock

Last synced: 6 months ago
JSON representation

Simple locking mechanism on top of flock()

Awesome Lists containing this project

README

          

[![Travis Build](https://travis-ci.org/f3ath/flock.svg?branch=master)](https://travis-ci.org/f3ath/flock)

# Flock. Simple locking mechanism on top of flock()

## Usage

```php
$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
}

```