1. Go to this page and download the library: Download cr-mao/multi-process-worker library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cr-mao / multi-process-worker example snippets
use Crmao\MultiProcessWorker\MultiProcessWorker;
$workNum = 4;
$worker = new MultiProcessWorker($workNum, MultiProcessWorker::modePcntl);
//$worker = new MultiProcessWorker($workNum, MultiProcessWorker::modeSwooleProcess);
$worker->onWork = function ($workPage, $pid) use ($workNum) {
echo PHP_EOL;
echo "工作空间编号:{$workPage},进程id:{$pid}" . PHP_EOL;
//提供便捷函数,快速获得任务内容 ,模式一:id模式
list($beginId, $endId, $isLastWorkPage) = MultiProcessWorker::getWorkContentByIdMode($workPage, 4, 1, 100001);
// select * from xxx where id >={$beginId} AND id <= {$endId},每个进程内可以自行在分页处理, 最后一个工作空间,你也许要考虑数据新增情况
echo "begin mysql id is {$beginId}, end mysql id is {$endId}, 是否是最后一个工作空间:{$isLastWorkPage}";
echo PHP_EOL;
//提供便捷函数,快速获得内容 ,模式二: offset,limit 模式
list($offset, $limit, $isLastWorkPage) = MultiProcessWorker::getWorkContentByOffsetMode($workPage, $workNum, 10001);
echo "offset is {$offset}, limit is {$limit}, 是否是最后一个工作空间:{$isLastWorkPage} ";
echo PHP_EOL;
sleep(3);
};
$worker->start();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.