zhangrb/time-even

一个帮助处理事件和延迟事件的Redis包,以及一个具有cron调度的工具。

1.10 2019-07-26 06:43 UTC

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();