Commit Graph

204 Commits

Author SHA1 Message Date
Daniil Gentili
ec3d242b7c Fork context (#214)
Some checks failed
Continuous Integration / PHP 8.3 on Windows (push) Has been cancelled
Continuous Integration / PHP 8.3 on macOS (push) Has been cancelled
Continuous Integration / PHP 8.1 (push) Has been cancelled
Continuous Integration / PHP 8.2 (push) Has been cancelled
Continuous Integration / PHP 8.3 (push) Has been cancelled
Continuous Integration / PHP 8.4 (push) Has been cancelled
Continuous Integration / PHP 8.2 with ext-parallel (push) Has been cancelled
Continuous Integration / PHP 8.3 with ext-parallel (push) Has been cancelled
Continuous Integration / PHP 8.4 with ext-parallel (push) Has been cancelled
* Skip another test

* cs-fix
2025-03-21 18:33:51 -05:00
Daniil Gentili
981895dd9e Fixup 2025-03-10 13:05:23 +01:00
Daniil Gentili
ffedc39004 Fixup tests 2025-03-07 17:39:50 +01:00
Aaron Piotrowski
7f8ca5472d Add DelegatingWorkerPool
Some checks are pending
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (false, on Windows, windows-latest, nts, 8.3) (push) Waiting to run
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (false, on macOS, macos-latest, nts, 8.3) (push) Waiting to run
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (false, ubuntu-latest, nts, 8.1) (push) Waiting to run
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (false, ubuntu-latest, nts, 8.2) (push) Waiting to run
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (false, ubuntu-latest, nts, 8.3) (push) Waiting to run
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (none, true, with ext-parallel, ubuntu-latest, parallel, ts, 8.2, none, none) (push) Waiting to run
Continuous Integration / PHP ${{ matrix.php-version }} ${{ matrix.job-description }} (none, true, with ext-parallel, ubuntu-latest, parallel, ts, 8.3, none, none) (push) Waiting to run
2024-09-01 09:40:09 -05:00
Aaron Piotrowski
051211ab31 Fix simultaneous accept cancel and server close 2024-03-19 20:02:23 -05:00
Aaron Piotrowski
0dfd136a17 Increase timeout before cancellation
Avoids race condition with parent cancellation check not submitting task to worker.
2024-01-28 12:37:41 -06:00
Aaron Piotrowski
e705d00643 Do not submit cancelled tasks
Fixes #198.
2024-01-28 12:37:41 -06:00
Aaron Piotrowski
f013263aff Thread worker tests 2023-12-27 12:33:25 -06:00
Aaron Piotrowski
8984c838c2 Mark test as not performing assertions instead of skipped 2023-12-27 12:31:09 -06:00
Aaron Piotrowski
470293d4b4 Adjust some tests for Windows CI 2023-12-27 12:24:54 -06:00
Aaron Piotrowski
42c53f01b2 Skip exit test in thread 2023-12-27 11:17:31 -06:00
Aaron Piotrowski
223c47cfa5 Fix accept after cancelling prior accept 2023-11-24 18:18:59 -06:00
Aaron Piotrowski
443df35cd9 Pipe stdio to parent
Provides parity with the behavior of ext-parallel and avoids potential hangs if stdio buffers fill.
2023-08-30 12:41:39 -05:00
Aaron Piotrowski
ba11031b86 Increase timeout for CI 2023-05-21 22:33:27 -05:00
Aaron Piotrowski
1988e109ab Fix awaiting worker creation 2023-05-21 21:46:59 -05:00
Aaron Piotrowski
37850ff591 Fix assigning workers to waiting tasks
Fixes #177.
2023-05-12 17:42:36 -05:00
Aaron Piotrowski
f91c44b6f0 Allow calling Context::join() immediately 2023-03-26 12:03:33 -05:00
Niklas Keller
a072e63c3f Fix and re-enable windows CI 2023-03-02 15:59:10 -06:00
Aaron Piotrowski
815c2500bc Only throw ContextException from receive, send, and join (#166) 2023-03-01 23:40:36 -06:00
Aaron Piotrowski
4737702aa4 Rename ParallelContext to ThreadContext 2023-02-16 23:08:26 -06:00
Aaron Piotrowski
efcdd38ecb Refactor ParallelHub 2023-02-16 22:52:33 -06:00
Niklas Keller
b6e89f7dd6 Add implementation based on ext-parallel 2023-02-16 23:06:52 +01:00
Aaron Piotrowski
a4edad0d08 Add await() shortcut to Execution
Renamed getResult() to getFuture()
2023-02-14 21:30:55 -06:00
Niklas Keller
c17135c866 Remove getLimit from WorkerPool interface
Closes #160.
2023-02-14 21:35:06 +01:00
Niklas Keller
abf5fe195b Rename DefaultWorker* to ContextWorker* 2023-02-14 21:31:30 +01:00
Niklas Keller
a4b23892a1 Remove ipcHub()
Users should use the factories instead.

Closes #163.
2023-02-14 21:19:44 +01:00
Aaron Piotrowski
b19d87fc50 Remove cache from Task::run() 2023-02-06 17:41:20 -06:00
Aaron Piotrowski
bedca5d7af Switch Cache to AtomicCache in Task::run() 2023-02-04 10:07:27 -06:00
Aaron Piotrowski
1905ce8dbe Remove Cache class type from worker factory 2023-02-04 09:30:33 -06:00
Aaron Piotrowski
7581a05b8b Add cancellation to context factory 2023-01-02 12:51:22 -06:00
Aaron Piotrowski
12b2ea3de1 Forward Xdebug settings to child process 2023-01-01 15:12:34 -06:00
Aaron Piotrowski
35204df750 Improve handling of exceptions thrown in child contexts 2022-12-31 15:45:42 -06:00
Aaron Piotrowski
9e5eec211a Declare strict types 2022-12-17 15:49:26 -06:00
Aaron Piotrowski
12f64252d6 Remove unused test
ParallelContext was removed.
2022-12-17 15:48:16 -06:00
Aaron Piotrowski
7ba0dd24de Fix pushing dead worker back into pool 2022-11-28 22:13:52 -06:00
Niklas Keller
374c590ea0 Increase delay also for testThrowingProcessOnSend 2022-10-03 18:51:17 +02:00
Niklas Keller
83e9feab8f Increase delay to fix slow test execution on GitHub actions on Windows 2022-10-03 18:44:05 +02:00
Aaron Piotrowski
c3bb2452c2 Add a couple tests 2022-08-07 12:01:21 -05:00
Niklas Keller
c40cd9735f Replace all with await 2022-07-12 22:41:33 +02:00
Aaron Piotrowski
7cf3733a02 Update CS fixer version and apply new rules 2022-03-28 17:18:28 -05:00
Niklas Keller
52502b3710 Remove ParallelContext 2022-02-07 00:07:23 +01:00
Niklas Keller
a583a90eaa Increase timings for macOS 2022-02-06 23:50:53 +01:00
Niklas Keller
9a67f8f272 Improve parameter order in DefaultWorkerFactory 2022-02-06 22:58:34 +01:00
Niklas Keller
3e0f355a45 Rename pooledWorker → getWorker 2022-02-06 22:39:56 +01:00
Niklas Keller
5348d43129 Rename Job → Execution, enqueue → submit 2022-02-06 22:31:15 +01:00
Niklas Keller
83fa2ec8d3 Rename maxSize to limit 2022-02-06 19:20:05 +01:00
Aaron Piotrowski
446e9a7313 Move ext-parallel classes to internal namespace for now 2022-02-06 11:22:33 -06:00
Aaron Piotrowski
5d8a9deeca Low-hanging fruit 2022-02-06 11:06:00 -06:00
Aaron Piotrowski
aa9d387385 Rename ContextFactory::create to start 2022-02-06 10:09:10 -06:00
Aaron Piotrowski
cce2c2a345 Remove isRunning and kill from Context
Replaced by Channel::close and isClosed.
2022-02-06 10:06:03 -06:00