Commit Graph

59 Commits

Author SHA1 Message Date
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
470293d4b4 Adjust some tests for Windows CI 2023-12-27 12:24:54 -06: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
Niklas Keller
a072e63c3f Fix and re-enable windows CI 2023-03-02 15:59:10 -06: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
Aaron Piotrowski
1905ce8dbe Remove Cache class type from worker factory 2023-02-04 09:30:33 -06:00
Aaron Piotrowski
9e5eec211a Declare strict types 2022-12-17 15:49:26 -06:00
Aaron Piotrowski
7ba0dd24de Fix pushing dead worker back into pool 2022-11-28 22:13:52 -06: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
9a67f8f272 Improve parameter order in DefaultWorkerFactory 2022-02-06 22:58:34 +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
5d8a9deeca Low-hanging fruit 2022-02-06 11:06:00 -06:00
Aaron Piotrowski
53e59efd1d Use ContextFactory in DefaultWorkerFactory
Eliminates WorkerProcess and WorkerParallel static constructor classes.
2021-12-26 00:45:30 -06:00
Aaron Piotrowski
a45aa6370d Refactor worker tasks to have a communication channel 2021-12-20 17:24:13 -06:00
Aaron Piotrowski
e2b444a004 Rename enqueue to execute and remove enqueueCallable 2021-12-17 23:55:25 -06:00
Bob Weinand
b7b70d205a Update for recent renames 2021-12-04 16:36:25 +01:00
Aaron Piotrowski
2466d78fd6 Update for rename of coroutine to launch 2021-11-20 15:07:13 -06:00
Niklas Keller
b625c1a226 Simplify test 2021-10-25 19:27:15 +02:00
Aaron Piotrowski
3602a615ce Update for Amp and Revolt changes 2021-10-15 16:49:03 -05:00
Aaron Piotrowski
e47e788e17 Update for Revolt changes and Futures 2021-09-17 14:50:57 -05:00
Niklas Keller
477025c44d Use revolt 2021-03-27 08:05:02 +01:00
Aaron Piotrowski
ae9feed176 Remove Generator to coroutine support for Task::run() 2020-11-15 23:08:15 -06:00
Aaron Piotrowski
8da6fea46c Replace missed yields with await()
Support for coroutines removed from AsyncTestCase.
2020-11-09 11:31:23 -06:00
Aaron Piotrowski
59a8822403 Refactor for Amp v3 2020-10-07 23:04:29 -05:00
Aaron Piotrowski
69f9cadba8 Test needs PHPUnit >=8.4 2020-10-07 12:11:25 -05:00
Aaron Piotrowski
e759ef0c76 Async task resolution 2020-10-07 12:11:25 -05:00
Aaron Piotrowski
839e30cf0a Refactor pool queue
Improved enqueue tasks to a busy pool. `Pool::getWorker()` now returns `Promise<Worker>` instead of `Worker`.
2020-10-07 12:11:24 -05:00
Aaron Piotrowski
24213ee911 Upgrade to PHPUnit 7 or 8 2019-08-27 12:17:41 -05:00
Aaron Piotrowski
9236ade19f Capture previous exceptions of exceptions thrown from Task::run() 2019-01-25 14:29:32 -06:00
Aaron Piotrowski
ccf285bdcc Cleanup test 2018-12-30 13:32:25 -06:00
Max Furtuna
c4eed9535b Test for #66 2018-12-19 18:34:06 -06:00
Aaron Piotrowski
4c3c93e46a Fix DefaultPool::shutdown()
Forgot to update this to match Worker::shutdown() behavior.
2018-10-27 11:19:01 -05:00
Aaron Piotrowski
1c1d22b7f6 Pool::get() → Pool::getWorker()
Also renamed Worker\get() to Worker\pool()->getWorker().
2018-10-25 09:54:40 -05:00
Aaron Piotrowski
69d4cde4a6 Remove unnecessary pool error test classes
The single test method should have been part of the existing abstract pool test.
2018-10-21 10:41:30 -05:00
Aaron Piotrowski
562ae6f68d Remove AbstractWorker::cancel() and report worker as running on start 2018-10-08 12:27:18 -05:00
peter279k
4b438814f3 Enhance worker tests (#43) 2018-10-07 10:15:50 -05:00
Aaron Piotrowski
b654463339 Fix code style 2018-10-07 09:50:45 -05:00
Aaron Piotrowski
7ef75bd5db Reduce test iterations
pthreads seems to be having trouble with such quick generation of threads. Will look into what may be happening here… but the number of iterations isn't terribly important for the modified test.
2018-01-22 17:59:13 -06:00
Aaron Piotrowski
0d40e6da98 Do not fclose socket or null thread ref; restore GC test 2017-12-27 12:36:28 -06:00
Aaron Piotrowski
e6a5de671a Move GC test to ProcessPoolTest 2017-12-27 12:17:35 -06:00
Niklas Keller
ac4c7939f0 Add test for proper clean up
If there are cyclic references in the future again, this test will fail.
2017-12-26 10:02:43 -06:00
Aaron Piotrowski
c545be1dc5 More tests 2017-12-13 23:06:38 -06:00
Aaron Piotrowski
312aecf1ff Remove Worker::start()
The context can automatically be started when a job is enqueued.
2017-12-13 14:14:31 -06:00
Aaron Piotrowski
cb87b1cd9a Use default sizes as default values 2017-12-12 21:59:38 -06:00