Skip to content

Releases: graze/parallel-process

v1.0.1

28 May 18:04
76e1bf9

Choose a tag to compare

Tooling-only release; no consumer-facing library changes since v1.0.0.

Changes

  • Makefile: target PHP 7.4 (and matrix 8.0-8.5), use phpcs.xml.dist (#37)

Full Changelog: v1.0.0...v1.0.1

v1.0.0 — Modernise: PHP 7.4-8.5, Symfony 5, PHPUnit 9, GitHub Actions

28 May 11:52
5f9ef4e

Choose a tag to compare

First release since 0.8.1 (2018). Modernises the library across the board.

Highlights

  • PHP: ^5.5 | ^7.0^7.4 || ^8.0. CI matrix tests PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5.
  • Symfony: symfony/process and symfony/event-dispatcher are now ^5 only (Symfony 2.8/3.2/4.x dropped).
  • Event-dispatcher modernised for Symfony 5: events extend Symfony\Contracts\EventDispatcher\Event; EventDispatcherTrait uses dispatch($event, $name).
  • CI: migrated from Travis to GitHub Actions; --prefer-lowest job runs only on PHP 7.4 (dep floors live there).

Dev / tooling

  • PHPUnit ^9.6 (was ^5.7 | ^6 | ^7); test suite migrated for PHPUnit 9 (assertRegExpassertMatchesRegularExpression, @expectedException\$this->expectException(...), assertArraySubset via the dms/phpunit-arraysubset-asserts polyfill).
  • Mockery ^1.6 (was ^1.0).
  • graze/console-diff-renderer ^1.0 (its v1.1.0 added PHP 8 support and lets symfony/console ^5 resolve here).
  • symfony/console (dev) → ^5.
  • New phpcs.xml.dist that excludes Squiz.Commenting.FunctionComment.TypeHintMissing so PHP 8+ doesn't demand mixed type hints that PHP 7.4 cannot parse.

Upgrade notes

  • PHP 5.x / 7.0 / 7.1 / 7.2 / 7.3 are not supported. Floor is PHP 7.4.
  • Symfony 4.x and earlier are not supported. Symfony 5 only.
  • Consumers passing Symfony\Component\EventDispatcher\Event should switch to Symfony\Contracts\EventDispatcher\Event.

Merged PRs since 0.8.1

  • #32 — Bump phpunit/phpunit from 7.5.4 to 8.5.52
  • #33 — Symfony 5 support (drop Symfony 4.4), PHP 7.4, PHPUnit 8
  • #34 — Migrate CI from Travis to GitHub Actions
  • #35 — Raise mockery/mockery floor to ^1.3.1 for PHPUnit 8 compatibility
  • #36 — Add PHP 8.0-8.5 support; PHPUnit 9, console-diff-renderer 1.x, modern actions

PriorityPool Tweaks

25 Sep 09:14
84ccec5

Choose a tag to compare

  • Pool will start/complete when adding runs in a particular state.
  • PriorityPool will listen to when the priority changes and re-order its queue

PriorityPool

21 Sep 13:01
b053045

Choose a tag to compare

  • [BC] New Pool: PriorityPool that supports:
    • priority for each run
    • maximum number of processes to run at a time
  • Pool has become simpler, and just runs all child runs at the same time
    • [BC] max simultaneous option has been moved to PriorityPool
  • new event: SUCCESSFUL only gets triggered when the run succeeds.
    • [BC] event: COMPLETE will get triggered for failed runs now too.
  • Adds PoolLogger to write everything that happens to each pool and run.

Callback Runner

30 Aug 11:33
1e723ef

Choose a tag to compare

  • Adds a CallbackRun to run some php code. Note this will not be asynchronous.

Events

09 Aug 08:39
6253338

Choose a tag to compare

[BC]

  • Re-works the backend to change how Lines and Tables work with pools
  • Re-works the events system to allow multiple listeners
  • Supports progress and duration on runs

Quick Quick!

22 May 15:30
71b5802

Choose a tag to compare

Allows pools to be run instantly (as soon as any process is added, and always run from then on)

:up: add support for symfony v4

05 Feb 09:32

Choose a tag to compare

0.5.1

Composer: allow Symfony 4 (#14)

lines lines lines

09 Oct 16:25

Choose a tag to compare

  • Adds Lines class to show the output of all the processes as they happen in-line.
  • Modifies the callback definition (backwards compatible) to allow the type of each output from the process.
  • Every output from the process is sent via callback now.
  • Added flags to determine if onProgress should be on call process output or process poll or both.

Max-Sims

30 Jun 14:39

Choose a tag to compare

Specify a maximum number of processes to run concurrently.