zhangrb / time-even
一个帮助处理事件和延迟事件的Redis包,以及一个具有cron调度的工具。
1.10
2019-07-26 06:43 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 05:28:40 UTC
README
timeeven是一个基于redis的队列事件包,支持队列事件和延时队列事件,在php-resque(由Ruby的高人气队列包resque改编而来)的基础上构建,可以轻松集成到yaf中,为yaf提供延时队列事件功能。
特性
事件队列
timeeven提供了一种简单的方式来实现事件队列,可以轻松集成到框架中。
延时事件队列
在事件队列的基础上,timeeven通过php-resque-schedule提供了延时队列的功能。
安装
composer require zhangrb/time-even
使用
队列配置
$config = [ 'host' => 'localhost', 'port' => '6379', ]; $app = new TimeEven(null, $config);
普通队列
可以通过集成TimeEvenJob,并将type设置为self::SYNC来将其设置为普通队列
$job = (new TimeEvenJob())->withPayload(['test' => 123]);
延时队列
可以通过集成TimeEvenJob,并将type设置为self::ASYNC来将其设置为延时队列,并通过delay来设置需要延时的时长
分发Job
$app->dispatch($job);
启动工作进程
$app->work('test-job', 3);
$app->schedule();