php脚本防上多进程同时执行,Jorker
軟件簡介
Jorker — 腳本多進程執行
功能
腳本多進程執行
支持中斷續運行
內存過載保護
定時報告進度
高度可配置
安裝
composer?require?jorker/jorker
用法
require_once(dirname(__DIR__)?.?'/vendor/autoload.php');
$manager?=?new?\Jorker\JobForkerManager(3);
$manager->allot(function()?{
//?RETURN?OR?YIELD?JOBS?IN?MASTER?PROCESS...
for($i?=?0;?$i?
yield?['i'?=>?$i];
}
})->run(function($job,?\Jorker\Slave\Slave?$slave)?{
//?DO?SOMETHING?IN?SUB?PROCESS...
$slave->logger()->info("use?this?way?if?you?want?print?log?{$job['i']}.");
});
選項
\Jorker\JobForkerManager::__construct($limit,?$options)
@param?int?$limit?|?Sub?process?limit.?使用多少個子進程
@param?array?$options?|?configs.?配置項
[
"logger"?=>?new?SimpleEchoLogger(),?????//?LoggerInterface.?日志接口
"logLevel"?=>?LogLevel::INFO,???????????//?Print?log?which?level?greater?or?equal.?打印日志的最低等級
"slaveMaxMemory"?=>?256*1024*1024,??????//?Sub?process?max?memory,?if?over?this?value,?master?will?stop?this?sub?process?and?fork?a?new?one.?子進程最大內存,超出該內存終止子進程,終止后父進程會重新fork一個新的子進程
"reportInterval"?=>?600,????????????????//?Execute?report?handler?every?{reportInterval}?seconds.?運行指定秒數后,對運行時統計進行報告
"reportHandler"?=>?functuin()?{echo?"REPORT";},??//?Execute?report?handle.?回調函數,運行時統計報告
"stampFilePath"?=>?"/tmp/stamp.dat",????//?File?path?that?save?last?job?when?user?CTRL+C?stopped?script.?用于記錄上一次中斷時,即將執行數據的保存路徑
]
總結
以上是生活随笔為你收集整理的php脚本防上多进程同时执行,Jorker的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: plink源码_plink: 等位型计数
- 下一篇: 动态规划算法php,php算法学习之动态