说明
- 本篇只记录怎么将lumen事件默认同步,改为异步执行。
- lumen默认事件是同步(sync),具体事件监听怎么使用这里不做说明。
- 默认你已经可以正常触发同步事件。
- 默认你已经配置好Redis。
- 参考:lumen - 队列
操作步骤
- 修改配置文件
.env默认事件驱动(关键)
QUEUE_DRIVER=redis
- 新建
TestEvent和TestListener并在事件服务EventServiceProvider注册事件监听器
TestEvent::class => [
TestListener::class,
],
- 将事件监听器改为异步(关键)
class TestListener implements ShouldQueue
{
/**
* @param TestEvent $event
*/
public function handle(TestEvent $event)
{
// 业务逻辑
}
}
- 手动运行队列进程
php artisan queue:work --sleep=3 --tries=3
- 配置守护进程Supervisor,将队列自动运行并开机自启动,以centos

本文介绍了如何将Lumen框架的默认同步事件驱动改为异步执行,通过配置.env文件设置队列驱动为Redis,创建TestEvent和TestListener,并实现ShouldQueue接口,然后使用php artisan queue:work命令手动运行队列。此外,还详细讲解了如何配置Supervisor守护进程在CentOS系统中自动运行和管理队列,确保异步任务的持久化处理。
最低0.47元/天 解锁文章

667

被折叠的 条评论
为什么被折叠?



