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

217 Commits

Author SHA1 Message Date
Aaron Piotrowski
d6e7fed763
Explicit casts for event name 2019-04-24 10:42:45 -05:00
Aaron Piotrowski
108b6434ef
Allow time when process channel closes unexpectedly 2019-04-24 10:17:54 -05:00
Aaron Piotrowski
b6acc4f386
Update for latest parallel extension changes 2019-04-24 10:05:42 -05:00
Aaron Piotrowski
740696275c
Add a couple tests and ignore some blocks only executed in threads 2019-03-08 13:37:52 -06:00
Aaron Piotrowski
c1f6b62799
Check if watcher has already been cancelled
This seems to only happen in 7.1 for some reason… will perhaps need to dig further into why.
2019-03-08 11:26:48 -06:00
Aaron Piotrowski
2191d1145b
Cancel watcher if no threads remain 2019-03-08 11:20:47 -06:00
Aaron Piotrowski
3cce945d93
Note method to retreive stacktrace in exception messages 2019-03-02 09:19:00 -06:00
Aaron Piotrowski
7c8f936618
Autoloading → Bootstrap
Calling the file a boostrap makes more sense as more than defining an autoloader can be done in the file.
2019-02-22 16:10:30 -06:00
Aaron Piotrowski
7c8756c3a5
Add custom autoloader option for workers
Fixes #55 and #71.
2019-02-20 17:39:39 -06:00
Aaron Piotrowski
738f50afe7
Define AMP_CONTEXT_ID in contexts
Uses PID in processes or a sequential ID for threads.
2019-02-20 17:31:22 -06:00
Aaron Piotrowski
1150428281
Better handling of unserialization errors
Still fails even if E_NOTICE errors are not being reported.
2019-02-20 17:22:48 -06:00
Aaron Piotrowski
a0575b4930
Fix handling of invalid connections
Channel::receive() can throw ChannelException and SerializationException, so just catch everything here.
2019-02-18 18:44:30 -06:00
Aaron Piotrowski
a9e22e9ef8
Add getId() method; don't dup futures array 2019-02-18 18:43:11 -06:00
Aaron Piotrowski
b8b73cdea3
Use Future::select() 2019-02-18 13:05:43 -06:00
Aaron Piotrowski
36d3a3d963
Periodically check Future to see if thread crashed 2019-02-18 11:48:13 -06:00
Aaron Piotrowski
7fca17d7ef
Explicitly close channel when thread finishes 2019-02-18 10:32:16 -06:00
Aaron Piotrowski
8e19da949f
Remove unused imports 2019-02-18 09:43:14 -06:00
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
f919371aee
Don't swallow SynchronizationError in ContextException 2019-02-18 09:38:42 -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
c55f34c551
Update for krakjoe/parallel interrupt branch
Dumped the signal socket.
2019-02-15 18:25:29 -06:00
Aaron Piotrowski
638a1bb638
Implement thread killing
Will not interrupt blocking calls such as sleep, but in practice this shouldn't be much of a problem.
2019-02-14 18:12:51 -06:00
Aaron Piotrowski
23669b9572
Add reference/unreference methods to ChannelledSocket 2019-02-14 18:09:13 -06:00
Aaron Piotrowski
c60fc63cb6
Add timer in parallel context for kill breakpoint 2019-02-14 01:10:40 -06:00
Aaron Piotrowski
2d35051391
Update for krakjoe/parallel changes 2019-02-14 00:56:27 -06:00
Aaron Piotrowski
410c88e859
Serialize function arguments
Maybe this is a horrible idea, but we serialize everything else, so why not?
2019-02-14 00:34:45 -06:00
Aaron Piotrowski
ecaf0a854b
Add support for krakjoe/parallel 2019-02-14 00:34:45 -06:00
Aaron Piotrowski
c77843fa77
Catch parse error and provide better error message 2019-02-13 16:36:45 -06:00
Aaron Piotrowski
6b6e38cf70
Define constants in contexts for easy identification 2019-02-13 14:15:16 -06:00
Aaron Piotrowski
1ee8e202ed
Apply the same treatment to context exceptions
Sends info about previous exceptions thrown in the context to the parent.
2019-01-25 17:53:19 -06:00
Aaron Piotrowski
9236ade19f
Capture previous exceptions of exceptions thrown from Task::run() 2019-01-25 14:29:32 -06:00
Aaron Piotrowski
80c07011d6
Fix failing Process::join()
If the process is killed while joining, an exception was thrown from Process::kill().
2019-01-09 10:25:30 -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
dc036dfa33
Use Promise\wait() in process-runner.php 2019-01-04 16:58:05 -06:00
Aaron Piotrowski
65d71c3526
Check for resolution of promise in process-runner.php 2019-01-04 16:46:53 -06:00
Aaron Piotrowski
f391d3549a
Improve error message when parent has exited 2018-12-30 13:08:38 -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
Pieter Hordijk
354e64db09 Fixed typo in exception message
When the process cannot be started it tells me "Staring the process failed".

You can stare at a process all you want, but it should be "Starting".
2018-11-08 14:29:35 -06:00
Aaron Piotrowski
596f41886b
Return PID from Process::start() 2018-11-04 11:34:18 -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
8caf8d4dce
Fix missed exception construct 2018-10-24 23:02:24 -05:00
Aaron Piotrowski
3f2e6d7f07
Drop custom exception constructors 2018-10-24 22:49:01 -05:00