1
0
mirror of https://github.com/danog/parallel.git synced 2024-12-02 17:52:14 +01:00
Commit Graph

132 Commits

Author SHA1 Message Date
Aaron Piotrowski
feb54951cc Simplify worker implementation
Most of the complexity in AbstractWorker was to support out-of-order task execution.
2017-12-26 10:02:43 -06:00
Niklas Keller
cfd33799d7 Avoid cyclic references, fixes amphp/parallel-functions#5 2017-12-26 10:02:43 -06:00
Aaron Piotrowski
21b1a29748
Shorten task failure messages 2017-12-13 23:03:42 -06:00
Aaron Piotrowski
b9a8108540
Add ability to specify environment class name when creating factory 2017-12-13 22:18:12 -06:00
Aaron Piotrowski
fc4c2a07b7
Shorten job IDs 2017-12-13 21:28:08 -06:00
Aaron Piotrowski
f4411805d6
Fail task with SerializationException; cancel worker if sending otherwise fails 2017-12-13 20:56:28 -06:00
Aaron Piotrowski
9e7d1e0801
Throw if sending task fails 2017-12-13 16:29:44 -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
2a09f82f39
Add more process tests; exclude scripts from coverage 2017-12-13 13:56:11 -06:00
Aaron Piotrowski
d89c9e3dee
Catch serialization failure in process runner 2017-12-13 10:31:43 -06:00
Aaron Piotrowski
cb87b1cd9a
Use default sizes as default values 2017-12-12 21:59:38 -06:00
Aaron Piotrowski
91314f13f6
Shorten message from uncaught context exceptions 2017-12-12 21:08:59 -06:00
Aaron Piotrowski
8decdceb5d
Reorder Process constructor params
Shifted $binary to the end as it should rarely be needed.
2017-12-12 21:06:11 -06:00
Aaron Piotrowski
4d99a9d968
spawn → run 2017-12-10 17:01:10 -06:00
Aaron Piotrowski
852f580915
Remove $this magic from Thread callback
Channel is now passed as the first argument.
2017-12-10 16:53:51 -06:00
Aaron Piotrowski
4d4841f449
Refactor Process to make writing child processes simple 2017-12-10 16:39:49 -06:00
Aaron Piotrowski
cb15de11ff
Catch StreamExceptions thrown when reading
try/catch should have been around call to read().
2017-12-10 13:54:11 -06:00
Aaron Piotrowski
8c8c3123cb
Fix ternary associativity 2017-12-08 17:36:19 -06:00
Aaron Piotrowski
4b8cb791c2
Start global pool on creation 2017-12-08 10:31:28 -06:00
Aaron Piotrowski
4426686e54
Reorganize 2017-12-07 21:26:55 -06:00
Aaron Piotrowski
1adb63d906
Remove do*() private methods
Replaced with Amp\call().
2017-12-07 20:49:44 -06:00
Aaron Piotrowski
11a115670c
Only modify binary path if null
Also remove setting process options, as this is done in amphp/process anyway.
2017-12-06 16:01:11 -06:00
Aaron Piotrowski
6be72c6754
Run tasks in-order
Tasks on Windows must be run in-order because STDIO pipes are blocking. IPC be refactored to use sockets in the future if desired.
2017-12-06 15:59:28 -06:00
Aaron Piotrowski
e3b1cfd0cf
Allow custom binary path or locate binary 2017-12-05 18:21:39 -06:00
Aaron Piotrowski
51b6421933
Simplify checking environment class name 2017-11-30 23:58:41 -06:00
Aaron Piotrowski
3f7f21875d
Exit if constructing channel fails. 2017-11-29 23:02:36 -06:00
Aaron Piotrowski
7bb49256be
Fix missed use statement 2017-11-29 17:58:00 -06:00
Aaron Piotrowski
d0a3001c6a
Fix a couple mistakes… 2017-11-29 15:07:00 -06:00
Aaron Piotrowski
599cbb8a82
Anonymous class → defined class 2017-11-29 15:05:15 -06:00
Aaron Piotrowski
3aff92fec4
Consolodate process and thread contexts into Context namespace 2017-11-29 15:01:32 -06:00
Aaron Piotrowski
33a5b89ff7
Refactor Parcels 2017-11-29 14:40:07 -06:00
Aaron Piotrowski
996654920d
Update for export of mutex and semaphore to amphp/sync 2017-11-29 14:12:28 -06:00
Aaron Piotrowski
48bbf75097
Locate autoloader file in thread 2017-11-25 09:04:00 -06:00
Aaron Piotrowski
e700395ac5 Better fix for #27
Assertions would crash the worker, this will return as a failed task.
2017-11-22 21:38:11 -06:00
Aaron Piotrowski
689de9a28b
Assert autoload of Task class did not fail
Fixes #27.
2017-11-22 20:42:56 -06:00
Aaron Piotrowski
dbd3403087
Quiet style fixer 2017-11-10 11:35:47 -06:00
Aaron Piotrowski
26e826a05f
Add code to exception message, addresses #21
Code is no longer passed to exception constructor in parent context.
2017-11-10 11:32:15 -06:00
Aaron Piotrowski
0e71b18197
Faster freeing of task memory 2017-11-10 10:32:01 -06:00
Aaron Piotrowski
aaee76e3da
Rename Threading namespace to Thread 2017-11-10 10:00:04 -06:00
Aaron Piotrowski
f48066eb1b
Drop Fork along with Process and Strand interfaces
Forking is just too dangerous for virtually no gain over Process. Context now extends Sync\Channel.
2017-11-10 09:59:23 -06:00
Aaron Piotrowski
0ef74413af
Fix updating TTL; add more environment tests 2017-07-29 10:29:16 -05:00
Aaron Piotrowski
84b611e780
Move ExitResult classes out of Internal namespace 2017-07-28 17:34:24 -05:00
Aaron Piotrowski
0df4fa9cce
Add internal annotations 2017-07-27 23:49:20 -05:00
Aaron Piotrowski
3d5e1c6e6f
Refactor BasicEnvironment
Remove \Countable, add tests.
2017-07-27 23:47:36 -05:00
Aaron Piotrowski
cab8bbe8f6
Add ability to set Environment class name 2017-07-27 23:31:43 -05:00
Aaron Piotrowski
faf1555b9c
Move TaskRunner out of Internal namespace 2017-07-26 23:32:19 -05:00
Pieter Hordijk
8e6def047e Fixes the constant used
`\PHP_BINARY` will never give phpdbg, but always the full path to the
binary. You meant to use `\PHP_SAPI` here too just like on the previous
line.
2017-07-26 20:16:47 +02:00
Aaron Piotrowski
6ed128f3e7
Quite style fixer 2017-07-20 23:58:13 -05:00
Aaron Piotrowski
affe305e93
Use null for new scope 2017-07-20 23:36:53 -05:00
Aaron Piotrowski
1a6896b047
Exit thread immediately if parent context died while starting 2017-07-20 23:36:28 -05:00