Aaron Piotrowski
|
a9a5807798
|
Continue using pthreads for workers
Will consider removing in the future, but a deprecation period should come before.
|
2019-02-18 09:41:56 -06:00 |
|
Aaron Piotrowski
|
f2e5224856
|
Unite Process and Parallel context interfaces
Allows scripts to be written for either context.
|
2019-02-17 23:50:41 -06:00 |
|
Aaron Piotrowski
|
ecaf0a854b
|
Add support for krakjoe/parallel
|
2019-02-14 00:34:45 -06:00 |
|
Aaron Piotrowski
|
6b6e38cf70
|
Define constants in contexts for easy identification
|
2019-02-13 14:15:16 -06:00 |
|
Aaron Piotrowski
|
9236ade19f
|
Capture previous exceptions of exceptions thrown from Task::run()
|
2019-01-25 14:29:32 -06:00 |
|
Aaron Piotrowski
|
beafcdb140
|
Close channel in process when ended
Also restored destructor to DefaultPool to immediately kill workers instead of waiting until the end of the process.
|
2019-01-09 09:28:31 -06:00 |
|
Aaron Piotrowski
|
2ac081575e
|
Wait for pending task in shutdown
|
2018-12-30 12:48:54 -06:00 |
|
Aaron Piotrowski
|
d7697ebd69
|
Gracefully shutdown workers on process exit
|
2018-12-30 12:38:17 -06:00 |
|
Aaron Piotrowski
|
1c9822a564
|
Fix #66
|
2018-12-19 18:47:43 -06:00 |
|
Niklas Keller
|
912047f2ec
|
Add CallableTask and enqueueCallable
|
2018-11-04 10:17:19 -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
|
eff56fb849
|
Unreference process I/O streams
|
2018-10-27 11:14:31 -05:00 |
|
Aaron Piotrowski
|
d783e13fa4
|
Store exit status promise
Return this promise from subsequent calls to shutdown().
|
2018-10-27 09:59:10 -05:00 |
|
Aaron Piotrowski
|
7961e6a13a
|
AbstractWorker → TaskWorker
|
2018-10-26 18:29:45 -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
|
9098d26b56
|
Declare return type on exists()
|
2018-10-25 09:38:38 -05:00 |
|
Aaron Piotrowski
|
3f2e6d7f07
|
Drop custom exception constructors
|
2018-10-24 22:49:01 -05:00 |
|
Aaron Piotrowski
|
fe293c09bb
|
Improve process communication error handling
|
2018-10-23 22:14:51 -05:00 |
|
Aaron Piotrowski
|
14def89bff
|
Improve error messages when unserializable data is used
|
2018-10-23 22:10:12 -05:00 |
|
Aaron Piotrowski
|
fe4df13ab9
|
Forward stdout and stderr from worker to parent
Restores previous behavior of process contexts when used in a worker.
|
2018-10-23 10:11:16 -05:00 |
|
Aaron Piotrowski
|
f1b0a59b86
|
Final all the things!
|
2018-10-21 10:54:46 -05:00 |
|
Aaron Piotrowski
|
83cd550895
|
Remove method kept for BC in DefaultPool
Mark DefaultPool::pull() as private and entire class as final.
|
2018-10-21 10:42:55 -05:00 |
|
Aaron Piotrowski
|
0d85b5a149
|
supported() → isSupported()
|
2018-10-21 10:34:32 -05:00 |
|
Aaron Piotrowski
|
562ae6f68d
|
Remove AbstractWorker::cancel() and report worker as running on start
|
2018-10-08 12:27:18 -05:00 |
|
Aaron Piotrowski
|
5987d844c8
|
Kill pool if still running on destruct
|
2018-10-07 10:16:49 -05:00 |
|
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 |
|