Example #1
0
 public function testShouldRemovePidfileWhenFinilizing()
 {
     $actualPidfile = null;
     $expectedPidfile = '/var/run/arara.pid';
     $this->restore('unlink')->overwrite('unlink', function () use(&$actualPidfile) {
         $actualPidfile = func_get_arg(0);
         return true;
     });
     $pidfile = new Pidfile(new Control());
     $pidfile->finalize();
     $this->assertEquals($expectedPidfile, $actualPidfile);
 }
Example #2
0
<?php

declare (ticks=1);
require_once __DIR__ . '/../vendor/autoload.php';
use Arara\Process\Control;
use Arara\Process\Pidfile;
$control = new Control();
$pidfile = new Pidfile($control, 'myapp', __DIR__);
try {
    $pidfile->initialize();
    echo 'Will sleep for 10 seconds, try to run it in another terminal' . PHP_EOL;
    $control->flush(10);
    $pidfile->finalize();
    // You may use register_shutdown_function([$pidfile, 'finalize']);
} catch (Exception $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo 'Running PID is #' . $pidfile->getProcessId() . PHP_EOL;
}
echo 'Finished' . PHP_EOL;