PHP 脚本多进程执行 Jorker

码农软件 · 软件分类 · 其他开发相关 · 2019-10-17 14:27:04

软件介绍

Jorker — 脚本多进程执行

功能

  • 脚本多进程执行

  • 支持中断续运行

  • 内存过载保护

  • 定时报告进度

  • 高度可配置

安装

composer require jorker/jorker

用法

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

本文地址:https://www.codercto.com/soft/d/16958.html

ES6标准入门(第3版)

ES6标准入门(第3版)

阮一峰 / 电子工业出版社 / 2017-9 / 99.00

ES6是下一代JavaScript语言标准的统称,每年6月发布一次修订版,迄今为止已经发布了3个版本,分别是ES2015、ES2016、ES2017。本书根据ES2017标准,详尽介绍了所有新增的语法,对基本概念、设计目的和用法进行了清晰的讲解,给出了大量简单易懂的示例。本书为中级难度,适合那些已经对JavaScript语言有一定了解的读者,可以作为学习这门语言最新进展的工具书,也可以作为参考手册......一起来看看 《ES6标准入门(第3版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具