daycry/queues
Composer 安装命令:
composer require daycry/queues
包简介
Queues for Codeigniter 4
关键字:
README 文档
README
Queues for Codeigniter 4
Codeigniter 4 with beanstalk, redis, sync & service bus (azure) queues
Installation via composer
Use the package with composer install
> composer require daycry/queues
Configuration
Run command:
> php spark queues:publish
This command will copy a config file to your app namespace.
Then you can adjust it to your needs. By default file will be present in app/Config/Queue.php.
Allowed tasks
| Tasks |
|---|
| url |
| command |
| classes |
| shell |
Usage Job Class
URL
use Daycry\Queues\Job; $job = new Job(); $job = $job->setQueue('default') ->url('https://httpbin.org/post', [ 'verify' => false, 'method' => 'post', 'body' => ['param1' => 'p1'], 'dataType' => 'json', 'headers' => [ 'X-API-KEY' => '1234' ] ) ->enqueue();
COMMAND
use Daycry\Queues\Job; $job = new Job(); $job = $job->command('foo:bar')->enqueue('default');
CLASSES
use Daycry\Queues\Job; $job = new Job(); $job->classes(\Tests\Support\Classes\Example::class, 'run', ['constructor' => 'Contructor', 'method' => ['param1' => 1, 'param2' => 2]])->enqueue('default');
You can pass options in third parameter that contains paraterms in construct function and/or method.
SHELL
use Daycry\Queues\Job; $job = new Job(); $job->shell('ls')->enqueue('default');
Job Scheduled
$dateTimeObj= new DateTime('now'); $dateTimeObj->add(new DateInterval("PT1H")); $job = new Job(); $job->shell('ls'); $job->scheduled($dateTimeObj); $result = $job->enqueue('default');
Job Callback
You can configure a callback using 'URL' type.
$job->setCallback('https://httpbin.org/post', ['method' => 'post', 'headers' =>['X-API-KEY' => '1234']]);
Custom Methods
Beanstalk and Service Bus have custom methods
BEANSTALK
use Daycry\Queues\Job; $job = new Job(); $job->shell('ls')->setPriority(10)->setTtr(3600)->enqueue('default');
SERVICE BUS
use Daycry\Queues\Job; $job = new Job(); $job->shell('ls')->setLabel('label')->enqueue('default');
Usage Worker
> cd /path-to-your-project && php spark queues:worker default
On default is the name of queue.
If you want to execute only one time the worker, you can do this:
> cd /path-to-your-project && php spark queues:worker default --oneTime
In order to use these functions, the class must be extended.
You can extends the worker command for customize early and late methods.
use Daycry\Queues\Job; $this->earlyChecks(Job $j); //job execution $this->lateChecks($j); $this->earlyCallbackChecks(Job $j); //callback execution $this->lateCallbackChecks($j);
daycry/queues 适用场景与选型建议
daycry/queues 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 392 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 11 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「redis」 「beanstalk」 「Service Bus」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 daycry/queues 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 daycry/queues 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 daycry/queues 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
$queue->push('I can be popped off after', '10 minutes');
PHP7.1+ client for beanstalkd work queue with no dependencies
Microservice RPC through message queues.
Library for handling beanstalk connections.
The CodeIgniter Redis package
含断线重连机制的Beanstalk PHP客户端。
统计信息
- 总下载量: 392
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-11-25