1
0
mirror of https://github.com/danog/parallel.git synced 2024-11-27 04:44:56 +01:00
Commit Graph

120 Commits

Author SHA1 Message Date
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
Aaron Piotrowski
f716981c95
Exit thread immediately if killed while loading autoloader 2017-07-19 00:14:16 -05:00
Aaron Piotrowski
58ce0df037
Remove unnecessary try/catch
execute() will never throw, so no reason to wrap in try/catch.
2017-07-19 00:08:55 -05:00
Aaron Piotrowski
bba0610ede
Use call() to execute context function 2017-07-19 00:07:04 -05:00
Aaron Piotrowski
d4a2c311ca
Do not start global pool until used 2017-07-17 22:54:14 -05:00
Aaron Piotrowski
ff146bc8ba
Reduce default pool size 2017-07-17 22:53:19 -05:00
Aaron Piotrowski
c22d2838c7
Read more data if channel prefix is invalid 2017-06-28 23:59:24 -05:00
Niklas Keller
77de09894f Allow mixed for exception codes, because PDO 2017-06-28 12:41:59 +02:00
Niklas Keller
6b2f5cd3fa Bypass shell on Windows to fix paths with spaces 2017-06-24 00:29:34 +02:00
Niklas Keller
acd8b59d53 Apply escapeshellarg on PHP_BINARY so it works on paths with spaces
This is especially important on Windows with PHP being in C:\Program Files\...
2017-06-24 00:12:12 +02:00
Niklas Keller
8ecfed57bf Unreference stderr reading, so it doesn't keep the loop running 2017-06-23 16:44:17 +02:00
Niklas Keller
8c726c67b6 Remove -- when invoking the PHP CLI binary 2017-06-21 18:20:06 +02:00
Niklas Keller
84cd33a503 Pipe stderr of worker processes to the parents stderr 2017-06-21 18:20:06 +02:00