tokenly / laravel-record-lock by dweller

A locking library
14,010
2
5
Package Data
Maintainer Username: dweller
Maintainer Contact: devon@tokenly.com (Devon Weller)
Package Create Date: 2015-06-27
Package Last Update: 2019-12-03
Language: PHP
License: MIT
Last Refreshed: 2024-05-03 15:16:39
Package Statistics
Total Downloads: 14,010
Monthly Downloads: 513
Daily Downloads: 37
Total Stars: 2
Total Watchers: 5
Total Forks: 0
Total Open Issues: 0

Record Lock

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;
});