jesusch / php-queue
PHP类,用于处理并发运行的作业,以利用多核处理器的性能
dev-master
2015-05-07 09:12 UTC
Requires
- psr/log: 1.0.0
Requires (Dev)
- apache/log4php: 2.3.0
This package is not auto-updated.
Last update: 2024-09-28 17:07:24 UTC
README
PHP类,用于处理并发运行的作业,以利用多核处理器的性能
背景
经过一番搜索,我未能找到与php-queue类似的类。这段代码受到了php-resque的启发。
要求
- PHP 5.3+
- php-pctnl
- Composer
入门指南
在项目中将php-queue作为Composer包安装是最简单的工作方式。虽然Composer不是必需的,但它会使事情变得容易得多。
如果您不熟悉Composer,请参阅https://getcomposer.org.cn/。
- 将php-queue添加到您的应用的composer.json中。
{ // ... "require": { "jesusch/php-queue": "*" }, // ... }
-
运行
composer install
。 -
如果您尚未添加,请将Composer的自动加载添加到您项目的初始化文件中。(例如)
require 'vendor/autoload.php';
作业
队列作业
作业按照以下方式排队
$queue = new \JobQueue\Queue(); $queue->setMaxProcs(10); $job = new \JobQueue\Job(); $queue->appendJob($job); $queue->waitForJobs();
定义作业
每个作业应位于其自己的类中,必须扩展\JobQueue\AbstractJob
并包含一个公共的run
方法。
class My_Job extends \JobQueue\AbstractJob { public function run() { // Work work work echo 'some fancy job'; $sleep = rand(1,5); sleep($sleep); } }