Claudo is a PHP semaphore system. Helper for async execute code.
The best way to install is to use the composer by command:
composer require newclass/claudo
composer install
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;