Download the PHP package idimsh/parallel-processes without Composer
On this page you can find all versions of the php package idimsh/parallel-processes. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download idimsh/parallel-processes
More information about idimsh/parallel-processes
Files in idimsh/parallel-processes
Package parallel-processes
Short Description Run multiple Symfony CLI processes in parallel.
License MIT
Homepage https://github.com/idimsh/parallel-processes
Informations about the package parallel-processes
parallel-processes
Still in progress ...
Installation
The preferred method of installation is via Composer. Run the following command to install the latest version of a package and add it to your project's composer.json
:
Purpose
To be able to run multiple shell commands in parallel, leveraging Symfony Process those running in the background. And be able to cease execution (stop all the processes) in case one of them failed.
Design
This package uses an event loop, currently ReactPHP event-loop is chosen, but this might change.
The event loop helps in being able to start the processes one by one in non blocking manner, and allowing monitoring them for non-zero exit faster.
Usage
Symfony Process can be constructed using an array or a string.
If constructed using an array, then each item will be shell escaped before forming the command line to be executed.
If constructed using a string, then it is assumed to already be shell escaped.
The second way is preferred.
On linux, exiting a running processes by signaling it works as long as the process is started using , otherwise, it can't really be stopped.
The best way is to construct the commands to be executed.
Example 1, no special handing.
The two commands:
Will both run in parallel, and will both fail, the long running will continue to run despite that has failed already. Nothing will be output, since output is delegated to a logger interface and to callbacks.
Credits
- Abdulrahman Dimashki
- All Contributors
License
Released under MIT License - see the License File for details.
All versions of parallel-processes with dependencies
symfony/process Version ~3
psr/log Version ^1
react/event-loop Version ^1
clue/utf8-react Version ^1