brightlocal/pheanstalk

此包已被弃用,不再维护。未建议替代包。

beanstalkd 队列的 PHP 客户端

v3.0.2 2014-11-08 20:00 UTC

README

Build Status

Pheanstalk 是一个纯 PHP 5.3+ 客户端,用于 beanstalkd 工作队列。自 2008 年晚些时候以来,它一直被积极开发和在生产中使用。

Paul Annesley 创建,Pheanstalk 经历了严格的单元测试,并使用封装的、可维护的面向对象设计编写。社区反馈、错误报告和补丁导致了 2010 年的稳定版 1.0 发布、2013 年的 2.0 版本发布,以及 2014 年的 3.0 版本发布。

Pheanstalk 3.0 引入了 PHP 命名空间、PSR-1 和 PSR-2 编码标准,以及 PSR-4 自动加载标准。

支持 beanstalkd 到最新版本 1.4。实现了 beanstalkd 1.3 版本协议文档中指定的所有命令和响应。

使用 Composer 安装

使用 composer 将 pheanstalk 作为依赖项安装

composer require pda/pheanstalk

使用示例

<?php

// Hopefully you're using Composer autoloading.

use Pheanstalk\Pheanstalk;

$pheanstalk = new Pheanstalk('127.0.0.1');

// ----------------------------------------
// producer (queues jobs)

$pheanstalk
  ->useTube('testtube')
  ->put("job payload goes here\n");

// ----------------------------------------
// worker (performs jobs)

$job = $pheanstalk
  ->watch('testtube')
  ->ignore('default')
  ->reserve();

echo $job->getData();

$pheanstalk->delete($job);

// ----------------------------------------
// check server availability

$pheanstalk->getConnection()->isServiceListening(); // true or false

运行测试

测试套件中有一个部分依赖于运行在 127.0.0.1:11300 的 beanstalkd,之前可以通过 --with-server 选项选择。自从移植到 PHPUnit 以来,所有测试都是一次性运行的。请随时提交 pull request 以纠正此问题。

# ensure you have Composer set up
$ wget https://getcomposer.org.cn/composer.phar
$ php composer.phar install

# ensure you have PHPUnit
$ composer install --dev

$ ./vendor/bin/phpunit
PHPUnit 4.0.19 by Sebastian Bergmann.

Configuration read from /Users/pda/code/pheanstalk/phpunit.xml.dist

................................................................. 65 / 83 ( 78%)
..................

Time: 239 ms, Memory: 6.00Mb

OK (83 tests, 378 assertions)

贡献者

许可

© Paul Annesley

MIT 许可证 下发布