Niklas Keller
|
c1114188b6
|
Improve error messages
|
2018-03-21 13:49:52 +01:00 |
|
Aaron Piotrowski
|
ed3662172d
|
Added signal() and getPid() methods to Process
|
2018-03-14 18:51: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 |
|
Chris Wright
|
11a3e27db5
|
Escape script path in Process command (#38)
|
2018-01-31 18:31:36 +01:00 |
|
Syed Irfaq R. ⚡️
|
d2b9c03318
|
Fixes #35 (#36)
|
2018-01-22 16:15:09 -06:00 |
|
Aaron Piotrowski
|
abaa1609fd
|
Improve error message for invalid channel data
|
2018-01-22 16:12:55 -06:00 |
|
Niklas Keller
|
d16da4611e
|
Fix usage inside PHARs
|
2018-01-22 15:03:31 +01:00 |
|
Aaron Piotrowski
|
0d40e6da98
|
Do not fclose socket or null thread ref; restore GC test
|
2017-12-27 12:36:28 -06:00 |
|
Aaron Piotrowski
|
0a474e18c0
|
Avoid cyclic references in threads
|
2017-12-26 23:16:44 -06: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
|
2a09f82f39
|
Add more process tests; exclude scripts from coverage
|
2017-12-13 13:56:11 -06:00 |
|
Aaron Piotrowski
|
d89c9e3dee
|
Catch serialization failure in process runner
|
2017-12-13 10:31:43 -06:00 |
|
Aaron Piotrowski
|
cb87b1cd9a
|
Use default sizes as default values
|
2017-12-12 21:59:38 -06:00 |
|
Aaron Piotrowski
|
91314f13f6
|
Shorten message from uncaught context exceptions
|
2017-12-12 21:08:59 -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
|
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 |
|
Niklas Keller
|
ba4e101314
|
Use argseparator (--) also for PHP CLI
|
2017-06-21 17:30:26 +02:00 |
|
Niklas Keller
|
d3ccd57d23
|
Never display errors, log them instead
|
2017-06-21 15:30:52 +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 |
|
Niklas Keller
|
4546ef8b1d
|
Skip cli_set_process_title inside phpdbg
|
2017-06-17 20:46:22 +02:00 |
|
Niklas Keller
|
39664d42d0
|
Fix binary when running via phpdbg
|
2017-06-17 19:27:16 +02:00 |
|
Niklas Keller
|
a6bca0f085
|
Fix code style
|
2017-06-17 18:31:35 +02:00 |
|
Aaron Piotrowski
|
820b6897ed
|
Update for process changes
|
2017-06-15 23:46:15 -05:00 |
|
Aaron Piotrowski
|
f9be01adb5
|
Use parser package; refactor ChannelledSocket
|
2017-06-07 23:33:13 -05:00 |
|
Aaron Piotrowski
|
5a36a60651
|
Delay call to close
|
2017-06-01 11:15:03 -05:00 |
|
Aaron Piotrowski
|
0b16820ca8
|
Check for exit when sending as well
|
2017-05-28 00:09:13 -05:00 |
|
Aaron Piotrowski
|
a31f3491ca
|
Only check for exit when receiving, fixes #9
|
2017-05-27 00:43:09 -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 |
|
Aaron Piotrowski
|
cc6f785fa9
|
Pause → Delayed
|
2017-05-10 23:45:02 -05:00 |
|
Niklas Keller
|
b148a20257
|
Update to latest Amp and byte-stream changes
|
2017-05-10 09:05:35 +02:00 |
|
Aaron Piotrowski
|
c9be318356
|
Create new event loop in fork
|
2017-04-24 09:51:24 -05:00 |
|
Aaron Piotrowski
|
19d8cf79a1
|
Update ChannelledStream
Refactor of ReadableStream means ChannelledStream needed to change significantly.
|
2017-04-16 10:12:42 -05:00 |
|
Aaron Piotrowski
|
8a18a7a7b8
|
Require both params in constructor
|
2017-03-25 01:19:46 -05:00 |
|
Aaron Piotrowski
|
99c876f522
|
Update for stream changes
|
2017-03-23 19:25:35 -05:00 |
|
Aaron Piotrowski
|
9bf978ad01
|
when() → onResolve()
|
2017-03-21 18:45:23 -05:00 |
|
Aaron Piotrowski
|
34d07fcd34
|
Update for process change
|
2017-03-16 22:26:05 -05:00 |
|
Aaron Piotrowski
|
0236fc5336
|
Kill worker forks
Forking for workers is just not a good idea… it's too likely to be used irresponsibly.
|
2017-03-16 17:33:30 -05:00 |
|
Aaron Piotrowski
|
7f592265d0
|
Do not auto close sockets in child
|
2017-03-16 17:11:49 -05:00 |
|
Aaron Piotrowski
|
6a8eb2130e
|
Update for async-interop merge and other Amp changes
|
2017-03-16 17:03:59 -05:00 |
|
Aaron Piotrowski
|
9cc70c1f86
|
Periodically check for dead thread
|
2017-03-09 16:55:11 -06:00 |
|