xobotyi / beansclient
PHP7.1+ 版本的 beanstalkd 工作队列客户端,无任何依赖
v3.0.0-alpha.1
2021-08-09 07:44 UTC
Requires
- php: >=8
- ext-json: *
- ext-mbstring: *
- ext-sockets: *
Requires (Dev)
- phpunit/phpunit: 9.5.8
- dev-master
- v3.0.0-alpha.1
- v2.0.0-alpha.13
- v2.0.0-alpha.12
- v2.0.0-alpha.11
- v2.0.0-alpha.10
- v2.0.0-alpha.9
- v2.0.0-alpha.8
- v2.0.0-alpha.7
- v2.0.0-alpha.6
- v2.0.0-alpha.5
- v2.0.0-alpha.4
- v2.0.0-alpha.3
- v2.0.0-alpha.2
- v2.0.0-alpha.1
- v1.0.1
- v1.0.0
- v1.0.0-RC1
- v0.9.2
- v0.9.1
- v0.9.0
- dev-dependabot/composer/phpunit/phpunit-9.6.5
- dev-dependabot/github_actions/fastify/github-action-merge-dependabot-3.6.1
- dev-3.x-dev
- dev-2.x-dev
This package is auto-updated.
Last update: 2024-09-10 04:07:40 UTC
README
beansclient
关于
BeansClient 是一个用于 beanstalkd 工作队列的 PHP8 客户端,具有详尽的单元测试。库使用 PSR-4 自动加载标准,并始终具有 100% 的测试覆盖率。
库为您提供了简单的方式来提供自己的 Socket 实现,在需要记录请求和响应或代理流量到非标准传输的情况下。
BeansClient 支持 1.12 版本中在 协议 中指定的所有命令和响应
为什么选择 BeansClient?
- 经过充分测试。
- 支持 UNIX 套接字。
- 积极维护。
- 可预测(在任何情况下都不会抛出异常,你好
pheanstalk
🤪)。 - 支持 PHP8。
内容
需求
- PHP 8.0+
- beanstalkd 1.12+
安装
使用 composer 安装
composer require xobotyi/beansclient
用法
<?php use xobotyi\beansclient\Beanstalkd; use xobotyi\beansclient\Client; use xobotyi\beansclient\Socket\SocketsSocket; $sock = new SocketsSocket(host: 'localhost', port: 11300, connectionTimeout: 2); $client = new Client(socket: $sock, defaultTube: 'myAwesomeTube'); ## ## # PRODUCER # ## ## $job = $client->put("job's payload", delay: 2); if($job['state'] === Beanstalkd::JOB_STATE_DELAYED) { echo "Job {$job['id']} is ready to be reserved within 2 seconds\n"; } ## ## # WORKER # ## ## $client->watchTube('myAwesomeTube2'); $job = $client->reserve(); if ($job) { echo "Hey, i received first {$job['payload']} of job with id {$job['id']}\n"; $client->delete($job['id']); echo "And i've done it!\n"; } else { echo "So sad, i have nothing to do"; } echo "Am I still connected? \n" . ($client->socket()->isConnected() ? 'Yes' : 'No') . "\n";