Jorker—脚本多进程执行功能
脚本多进程执行
支持中断续运行
内存过载保护
定时报告进度
高度可配置
安装composer require jorker/jorker用法<?php require_oce(dirame(__DIR__) . '/vedor/autoload.php'); $maager = ew \Jorker\JobForkerMaager(3); $maager->allot(fuctio() { // RETURN OR YIELD JOBS IN MASTER PROCESS... for($i = 0; $i < 100; $i++) { yield ['i' => $i]; } })->ru(fuctio($job, \Jorker\Slave\Slave $slave) { // DO SOMETHING IN SUB PROCESS... $slave->logger()->ifo("use this way if you wat prit log {$job['i']}."); });选项\Jorker\JobForkerMaager::__costruct($limit, $optios) @param it $limit | Sub process limit. 使用多少个子进程 @param array $optios | cofigs. 配置项 [ "logger" => ew SimpleEchoLogger(), // LoggerIterface. 日志接口 "logLevel" => LogLevel::INFO, // Prit log which level greater or equal. 打印日志的最低等级 "slaveMaxMemory" => 256*1024*1024, // Sub process max memory, if over this value, master will stop this sub process ad fork a ew oe. 子进程最大内存,超出该内存终止子进程,终止后父进程会重新fork一个新的子进程 "reportIterval" => 600, // Execute report hadler every {reportIterval} secods. 运行指定秒数后,对运行时统计进行报告 "reportHadler" => fuctui() {echo "REPORT";}, // Execute report hadle. 回调函数,运行时统计报告 "stampFilePath" => "/tmp/stamp.dat", // File path that save last job whe user CTRL+C stopped script. 用于记录上一次中断时,即将执行数据的保存路径 ]









评论