newclass/claudo

The semaphore system for php.

v0.1.0 2018-10-16 09:32 UTC

This package is auto-updated.

Last update: 2024-09-16 23:24:48 UTC


README

license PHP 5.6+

What is Claudo?

Claudo is a PHP semaphore system. Helper for async execute code.

Installation

The best way to install is to use the composer by command:

composer require newclass/claudo
composer install

Use example

use Claudo\Semaphore;
use Claudo\SemaphoreBatch;

$semaphoreBatch = new SemaphoreBatch();

$semaphoreBatch->add(new Semaphore('test1', '.'));
$semaphoreBatch->add(new Semaphore('test2'));

$result = $semaphoreBatch->synchronize(function (Semaphore $semaphore) {
    $var = $semaphore->get('var', null);
    if (!$var) {
        $var = 0;
    }

    ++$var;

    $semaphore->set('var', $var);

    return sprintf('finish: %s, result: %d',$semaphore->getName(),$var);
});

echo $result;