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

640 Commits

Author SHA1 Message Date
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
5deeb81501
Skip parallel worker tests if extension is not installed 2019-02-18 10:27:07 -06:00
Aaron Piotrowski
7ee5a0aec7
phpdbg is crashing on travis 2019-02-18 10:01:29 -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
398989d41d
Move test scripts to Fixtures directory 2019-02-13 18:19:46 -06:00
Aaron Piotrowski
c77843fa77
Catch parse error and provide better error message 2019-02-13 16:36:45 -06:00
Aaron Piotrowski
9b17d540a9
Move ConstantTask to Fixtures directory 2019-02-13 14:17:52 -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
Andrey Bolonin
11e46e0c27 Add PHP 7.3 on Travis (#58) 2019-01-10 18:47:24 +01:00
Niklas Keller
687776dc69 Adjust AppVeyor to PHP 7.3 2019-01-09 22:31:46 +01: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
ccf285bdcc
Cleanup test 2018-12-30 13:32:25 -06:00
Aaron Piotrowski
30b9a05691
Fix some doc links 2018-12-30 13:15:01 -06:00
Aaron Piotrowski
c0e6875b61
Add more worker docs 2018-12-30 13:10:58 -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
Eugene Leonovich
7a6e2aa8fd Ignore the travis directory on export 2018-12-27 23:07:47 +01:00
Aaron Piotrowski
1c9822a564
Fix #66 2018-12-19 18:47:43 -06:00
Max Furtuna
c4eed9535b
Test for #66 2018-12-19 18:34:06 -06:00
Niklas Keller
a5ae5b8d26 Fix headlines in docs 2018-11-19 22:58:51 +01: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
Pieter Hordijk
b9d6720c83 Fixed examples (#61)
* Fixed examples

CallableTask expects the parameters to be passed in as array

* Fixed worker-pool example

The task does not make available the arguments (anymore)
2018-11-08 14:29:07 -06:00