1
0
mirror of https://github.com/danog/parallel.git synced 2024-12-02 09:37:57 +01:00
Commit Graph

70 Commits

Author SHA1 Message Date
Aaron Piotrowski
526916d13c
Ignore multiple shutdown() calls; remove cancel() param 2018-10-07 09:56:09 -05:00
Aaron Piotrowski
b654463339
Fix code style 2018-10-07 09:50:45 -05:00
Aaron Piotrowski
cb5ea736d4
Improve process IPC
Processes now use a shared server socket instead of stdin and stdout for IPC.
2018-10-07 09:31:35 -05:00
Aaron Piotrowski
ca051a0aa6
Fail queued tasks after shutdown is invoked 2018-10-07 09:23:42 -05:00
Aaron Piotrowski
d81b6fccd2
Fix circular reference in BasicEnvironment (Fixes #56) 2018-10-07 09:23:13 -05:00
Markus Staab
dbdc7895ac Fixed typo (#42) 2018-02-27 23:26:51 +01:00
Markus Staab
1d6330ffc7 Fixed typo (#41) 2018-02-27 20:02:22 +01:00
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
cb87b1cd9a
Use default sizes as default values 2017-12-12 21:59:38 -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
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
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
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
7bb49256be
Fix missed use statement 2017-11-29 17:58:00 -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
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
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
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
Niklas Keller
77de09894f Allow mixed for exception codes, because PDO 2017-06-28 12:41:59 +02:00
Aaron Piotrowski
29a1d1bb8c
Maintain task order for fast-finishing/blocking tasks 2017-06-19 22:14:19 -05:00
Aaron Piotrowski
20bb51e926 Improve worker error reporting 2017-06-17 23:57:12 -05:00
Aaron Piotrowski
149dbe4ba3 Use Amp\call to run tasks
Handles generator to coroutine convertion and React promises automatically.
2017-05-19 17:13:42 -05:00
Niklas Keller
2e9a29ae1c Apply Amp's code style 2017-05-18 09:51:31 +02:00
Aaron Piotrowski
1f637cfc6f Map deferreds to promises 2017-05-17 23:28:18 -05:00
Aaron Piotrowski
c7294da60d Reorganize exception classes and add TaskError
TaskError is thrown if the exception thrown in the worker was an instance of Error.
2017-05-17 23:13:29 -05:00