PHP code example of andrey-tech / parallel-executor-php

1. Go to this page and download the library: Download andrey-tech/parallel-executor-php library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

andrey-tech / parallel-executor-php example snippets


// Создаем исполнитель c 3-я отдельными параллельными потоками PHP и буферизированным каналом
$executor = new \App\ParallelExecutor(3);

$i = 0;
$startTime = microtime(true);
while ($i < 10) {
    $i++;
    printf("[%.4f]  execute" . PHP_EOL, microtime(true) - $startTime, $i);
    $executor->execute(
        function ($i) use ($startTime) {
            $sleep = random_int(1, 5);
            printf("[%.4f] %2d: Start sleeping {$sleep} s..." . PHP_EOL, microtime(true) - $startTime, $i);
            sleep($sleep);
            printf("[%.4f] %2d: DONE" . PHP_EOL, microtime(true) - $startTime, $i);
        },
        [ $i ]
    );
}

// Создаем исполнитель c 3-я отдельными параллельными потоками PHP и НЕ буферизированным каналом
$executor = new \App\ParallelExecutor(3, 'taskChannel', 0);

$i = 0;
$startTime = microtime(true);
while ($i < 10) {
    $i++;
    printf("[%.4f]  execute" . PHP_EOL, microtime(true) - $startTime, $i);
    $executor->execute(
        function ($i) use ($startTime) {
            $sleep = random_int(1, 5);
            printf("[%.4f] %2d: Start sleeping {$sleep} s..." . PHP_EOL, microtime(true) - $startTime, $i);
            sleep($sleep);
            printf("[%.4f] %2d: DONE" . PHP_EOL, microtime(true) - $startTime, $i);
        },
        [ $i ]
    );
}