webmozarts/console-parallelization
Parallelize Symfony Console commands using multiple processes. A main process distributes items to child workers, restarts workers after segments to avoid slowdown, and supports batching with hooks for setup/teardown (e.g., DB flush) for faster bulk jobs.
Changelog since 1.2.4:
ParallelMap command as an alternative to the Parallelization traitmaster terminology usageprocesses=X)This release contains a number of BC breaks, they should all be explained in UPGRADE.md.
ItemBatchIterator / ChunkedItemsIterator:
ItemBatchIterator to ChunkedItemsIterator (#69)ItemBatchIterator#batchSize (#68)::fromStream() static factory which makes it more convenient to create the iterator for STDIN whilst allowing testing easily without relying on STDIN (#75)::create() to ::fromItemOrCallable() (#75)__construct() to the static factories, this makes testing a lot easier (#75)ParallelizationInput:
ParallelizationInput::fromInput() (#74)ParallelizationInput::configureParallelization() to ::configureCommand() (#143)InputOptionsSerializer:
Logger:
ProcessLauncher:
ParallelExecutor / ParallelExecutorFactory
ParallelExecutor (#86, #103, #104)ErrorHandler
ProcessLauncher / ProcessLauncherFactory
Parallelization:
Configuration:
ParallelizationCommand console command (#121)ChildCommandFactory:
[BC Break]: BC break when migrating from 1.x. [Beta BC break]: BC break when migrating from 2.0.0-beta.0.
ParallelMap command as an alternative to the Parallelization traitmaster terminology usageprocesses=X)This release contains a number of BC breaks, they should all be explained in UPGRADE.md.
ItemBatchIterator / ChunkedItemsIterator:
ItemBatchIterator to ChunkedItemsIterator (#69)ItemBatchIterator#batchSize (#68)::fromStream() static factory which makes it more convenient to create the iterator for STDIN whilst allowing testing easily without relying on STDIN (#75)::create() to ::fromItemOrCallable() (#75)__construct() to the static factories, this makes testing a lot easier (#75)ParallelizationInput:
ParallelizationInput::fromInput() (#74)ParallelizationInput::configureParallelization() to ::configureCommand() (#143)InputOptionsSerializer:
Logger:
ProcessLauncher:
ParallelExecutor / ParallelExecutorFactory
ParallelExecutor (#86, #103, #104)ErrorHandler
ProcessLauncher / ProcessLauncherFactory
Parallelization:
Configuration:
ParallelizationCommand console command (#121)ChildCommandFactory:
Fix release process
--processes option is not used whilst still allowing to spawn only one sub-process (with --processes=1) (#22)fetchTasks() to fetchItems()getTaskName() to getItemName()How can I help you explore Laravel packages today?