webmaniacs.net/lib-fork

Lib fork processes in PHP and allow multi-threading. Inspired by duncan3dc/fork-helper

dev-master / 1.0.x-dev 2015-03-19 23:38 UTC

This package is not auto-updated.

Last update: 2024-05-11 15:13:18 UTC


README

Install the latest version with composer require webmaniacs.net/lib-fork

Examples

$manager = new \wmlib\fork\Manager(function(array $error) {
    print_r($error);
    die('Child process error');
});
$manager->setNotifier($notifier = new \wmlib\fork\Notifier\Shm());

$manager->child(function (\wmlib\fork\INotifier $notifier, $var) {
    echo 'Start '.getmypid()."\n";
    echo 'Echo from child process with '.$var.' value!';
    sleep(1);
    echo 'End '.getmypid()."\n";
}, ['var' => 'value']);

while($manager->loop(10)) {
    // run 10 forked childs in infinite loop
    // Manager will handle childs count
    usleep(10000);
}
echo "End\n";