mahmud/buffered-queue 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mahmud/buffered-queue

Composer 安装命令:

composer require mahmud/buffered-queue

包简介

A simple to use buffering queue as PHP package (no dependencies), which flexibly buffers objects, strings, integers etc. until a maximum size is reached

关键字:

README 文档

README

Latest Stable Version Build Status License

A simple to use buffering queue as PHP package (no dependencies), which flexibly buffers objects, strings, integers etc. until a maximum size is reached

Installation

Via Composer

composer require mahmud/buffered-queue

Usage

Basic usage

use Mahmud\BufferedQueue\BufferedQueue;

// Maximum size is 3
$queue = BufferedQueue::make('key', function($items){
    var_dump($items); // Output is mentioned below
}, 3);

$queue->push('item 1');
$queue->push('item 2');
$queue->push('item 3');
$queue->push('item 4');
$queue->push('item 5');
$queue->push('item 6');
$queue->push('item 7');

$queue->finish();

// Output

// First
[
    'item 1', 'item 2', 'item 3'
]

// Second
[
    'item 4', 'item 5', 'item 6'
]

// Third
[
    'item 7'
]

Also instance of Mahmud\BufferedQueue\HandlerContract can be passed.

use Mahmud\BufferedQueue\HandlerContract;

class QueueHandler implements HandlerContract {

    public function handle($items) {
        // Do something
    }
}

$queue = BufferedQueue::make('key', new QueueHandler, 3);

API

make($key, $callback, $max_size)

BufferedQueue::make($key, $callback, $max_size);
  • $key is a unique string. For duplicated key this will return same instance.
$queue1 = BufferedQueue::make('key1', $callback, $max_size);
$queue2 = BufferedQueue::make('key1', $callback, $max_size);

$queue1 === $queue2 // true
  • $callback will receive array of items.
  • $max_size determines the maximum size of the queue. When queue is full, callback is triggered with the buffered items.

push($item)

$item can be anything. object, string, integer, boolean, array etc...

$queue->push('item 1');

finish()

Trigger callback with buffered items at any time. Generally used after pushing all items.

run()

Force to run the callback with buffered items at any time. After running the callback buffer will be empty.

getItems()

Get all items in buffer.

Testing

vendor/bin/phpunit

License

MIT license. Please see the license file for more information.

统计信息

  • 总下载量: 40
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固