tokenly/laravel-record-lock

A locking library

v1.2.0 2018-11-05 16:02 UTC

This package is not auto-updated.

Last update: 2020-09-11 02:08:10 UTC


README

A Laravel library for creating a shared lock across an application. Requires a MySQL database connection.

Installation

Add the Laravel package via composer

composer require tokenly/laravel-record-lock

Add the Service Provider (Laravel <= 5.4 only)

Add the following to the providers array in your application config:

Tokenly\RecordLock\Provider\RecordLockServiceProvider::class

Use it

use Tokenly\RecordLock\Facade\RecordLock;

$lock_id = 'plant-garden-once';
$planted = RecordLock::acquireAndExecute($lock_id, function() {
    // plant the garden
    //   only one process should do this at a time
    //   other processes will block until this is complete
    sleep(1);

    return true;
});