nepster-web / php-simple-queue
基于数据库的PHP简单队列实现。
1.0.0-Alpha-5
2021-05-08 20:01 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- ext-pdo: *
- doctrine/dbal: ^2.0|^3.0
- laminas/laminas-hydrator: ^4.1
- ramsey/uuid: ^4.1
- symfony/serializer: ^5.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.18
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-09 03:48:50 UTC
README
此包正在开发中。此应用程序的API类可能会更改。
PHP Simple Queue
简介
PHP Simple Queue - 一个用于通过队列异步运行任务的库。它是现成的、经过实战检验的简单消息解决方案,适用于PHP。
它支持基于
要求
您需要至少PHP 7.4(它最适合PHP 8)。
安装
安装此扩展的首选方式是通过composer
运行以下命令
php composer.phar require --prefer-dist nepster-web/php-simple-queue
或者添加
"nepster-web/php-simple-queue": "*"
💻 基本用法
创建传输(更多信息)
$transport = new \Simple\Queue\Transport\DoctrineDbalTransport($connection);
向队列发送新消息(生产)
$config = \Simple\Queue\Config::getDefault() ->registerProcessor('my_queue', static function(\Simple\Queue\Context $context): string { // Your message handling logic return \Simple\Queue\Consumer::STATUS_ACK; }); $producer = new \Simple\Queue\Producer($transport, $config); $message = $producer->createMessage('my_queue', ['key' => 'value']); $producer->send($message);
作业调度(生产)
$config = \Simple\Queue\Config::getDefault() ->registerJob(MyJob::class, new MyJob()); $producer = new \Simple\Queue\Producer($transport, $config); $producer->dispatch(MyJob::class, ['key' => 'value']);
从队列处理消息(消费)
$producer = new \Simple\Queue\Producer($transport, $config); $consumer = new \Simple\Queue\Consumer($transport, $producer, $config); $consumer->consume();
测试
要本地运行测试,请在根目录中执行以下操作
./vendor/bin/phpunit
或者您可以在Docker容器中运行测试
cd .docker
make build
make start
make composer cmd='test'
📖 文档
请参阅官方指南。
📚 资源
📰 更新日志
每个版本的详细更改都记录在CHANGELOG.md中。
🔒 许可证
有关许可权和限制条件,请参阅MIT许可证文件(MIT)。
