MattKetmo
11/13/2013 - 2:17 PM

Playing with LiipProcessManager

Playing with LiipProcessManager

<?php

// see https://github.com/liip/LiipProcessManager/
require __DIR__.'/vendor/autoload.php';

use Liip\ProcessManager\ProcessManager;
use Liip\ProcessManager\PidFile;

try {
    $lock = new PidFile(new ProcessManager(), '/tmp/foobar');
    $lock->acquireLock();
    $lock->setPid(getmypid());

    echo 'Doing something heavy...';
    sleep(5);
    echo 'done!'.PHP_EOL;

    $lock->releaseLock();
} catch (Exception $e) {
    echo 'Unable to do anything'.PHP_EOL;

    if (!$lock->isProcessRunning()) {
        $lock->releaseLock();
    }
}