gielfeldt/simple-worker

简单的工人和池库。

dev-master 2016-05-30 16:20 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:36:39 UTC


README

Build Status Test Coverage Scrutinizer Code Quality Code Climate

Latest Stable Version Latest Unstable Version License Total Downloads

安装

要使用Composer在您的项目中安装Simple Worker库,首先将以下内容添加到您的composer.json配置文件中。

{
    "require": {
        "gielfeldt/simple-worker": "^0.1"
    }
}

然后运行Composer的安装或更新命令以完成安装。请访问Composer主页以获取有关如何使用Composer的更多信息。

Simple Worker

这个类允许您在池中排队操作并在就绪时启动它们。

动机

  1. 解耦处理guzzle异步请求。

使用Simple Worker库

示例
<?php

namespace Gielfeldt\SimpleWorker\Example;

require 'vendor/autoload.php';

use Gielfeldt\SimpleWorker\Pool;
use Gielfeldt\SimpleWorker\Test\SimpleTestWorker;

$pool = new Pool(['concurrency' => 1]);

$time = microtime(true);
$workers = [];
for ($i = 0; $i < 10; $i++) {
    $workers[] = new SimpleTestWorker(uniqid(), 0.5);
}


print "Adding worker\n";
$pool->addWorkers($workers, function ($worker) use ($time) {
    $elapsed = microtime(true) - $time;
    print "\n$worker->key is ready! Elapsed time: $elapsed\n";
});

print "Processing workers\n";
$pool->process([
    'progress_callback' => function ($pool) {
        print ".";
    },
    'finish_callback' => function ($pool) {
        print "\n";
    },
]);

更多示例请参阅examples/文件夹。

功能

  • 在池中排队操作。

注意事项

  1. 可能有很多。