SymfonyBundles Fork Library

v3.5.0 2018-02-26 20:27 UTC

This package is auto-updated.

Last update: 2024-07-05 19:06:38 UTC


SymfonyBundles Fork Library


Build Status Scrutinizer Code Quality Code Coverage Total Downloads Latest Stable Version License


Install the library with composer:

composer require symfony-bundles/fork

How to use (only cli-mode)

Create the fork service:

use SymfonyBundles\Fork;

$fork = new Fork\Fork();

Create a task that implements an interface SymfonyBundles\Fork\TaskInterface. For example:

namespace AppBundle\Task;

use SymfonyBundles\Fork\TaskInterface;

class DemoTask implements TaskInterface
    public function execute()
        echo "Hello World!\n";

Now that the task is created, you can execute her in a plurality processes:

use AppBundle\Task\DemoTask;

$task = new DemoTask();

$fork->attach($task)->run(4)->wait(); // 4 - this is number of subprocesses

And another example:

$task1 = new DemoTask();
$task2 = new DemoTask();
$task3 = new DemoTask();

$fork->run(); // by default, the optimal number of subprocesses will be determined

If you call method wait, the current process (main) will wait while all child processes will be finished.