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. 用于记录上一次中断时,即将执行数据的保存路径

]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值