kriswallsmith / spork
Asynchronous PHP
Installs: 928 053
Dependents: 19
Suggesters: 12
Security: 0
Stars: 586
Watchers: 34
Forks: 52
Open Issues: 24
Requires
- php: >=5.3.0
- ext-pcntl: *
- ext-posix: *
- ext-shmop: *
- symfony/event-dispatcher: *
This package is auto-updated.
Last update: 2024-10-29 03:45:20 UTC
README
Spork: PHP on a Fork
<?php $manager = new Spork\ProcessManager(); $manager->fork(function() { // do something in another process! return 'Hello from '.getmypid(); })->then(function(Spork\Fork $fork) { // do something in the parent process when it's done! echo "{$fork->getPid()} says '{$fork->getResult()}'\n"; });
Example: Upload images to your CDN
Feed an iterator into the process manager and it will break the job into multiple batches and spread them across many processes.
<?php $files = new RecursiveDirectoryIterator('/path/to/images'); $files = new RecursiveIteratorIterator($files); $manager->process($files, function(SplFileInfo $file) { // upload this file });