akbansa / parallel-processor
Parallel Processor will help you do run commands for parallel execution
Installs: 5 431
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=7.0.31
- symfony/process: >=3.0
This package is auto-updated.
Last update: 2023-03-01 00:39:55 UTC
README
An easy way to run multiple commands in parallel in laravel.
Install
Install via composer
composer require akbansa/parallel-processor
Usage
Import Akbansa\LaravelParallelProcessor\ParallelProcessor
where you want to use this parallel processor.
$processor = new ParallelProcessor($tasks, $options);
$processor->start();
while (!$processor->isFinished()) {
sleep(1);
}
$tasks
can be an array or collection of tasks that needs to be run and each item of this $tasks
should have command
as it's one of the property that need to be run.
For example
$tasks = [
["id" => 1, "command" => "php artisan send:email abc@example.com"],
["id" => 2, "command" => "php artisan send:email example@domain.com"]
]
$options
is an optional parameter in which you can pass parameters in an array as follow:
1. $parallelCount => This can be used to define the number parallel processes to be executed (default: 3)
2. $estimateProcessTime => average estimate time for process in second (default 1)
License
The MIT License. Please see the License File