brightlocal / pheanstalk
此包已被弃用,不再维护。未建议替代包。
beanstalkd 队列的 PHP 客户端
v3.0.2
2014-11-08 20:00 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2023-04-01 09:30:27 UTC
README
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
- Lachlan Donald
- Joakim Bick
- Vyacheslav
- leprechaun
- Peter McArthur
- robbiehudson
- Geoff Catlin
- Steven Lewis
- Lars Yencken
- Josh Butts
- Henry Smith
- Javier Spagnoletti
- Graham Campbell
- Thomas Tourlourat
- Matthieu Napoli
- Christoph
- James Hamilton
- Hannes Van De Vreken
- Yaniv Davidovitch
- .. 更多? 如果您觉得缺少了某些人,请告诉我。
许可
© Paul Annesley
在 MIT 许可证 下发布