在 Laravel 中使用 Redis 作为队列驱动程序的作业失败表

Tuy*_*ius 5 php redis laravel

我使用 Redis 作为作业的队列驱动程序,但故障表在配置/queue.php文件中接收特定的驱动程序配置,这让我有点困惑。因为即使将 Redis 设置为队列的驱动程序,故障也会继续记录在文件的特定会话中定义的关系数据库表中。将故障表驱动定义为Redis似乎行不通,因为Redis没有表。

我做了一些研究,但没有找到任何明确的解释。我真的应该使用关系数据库来存储作业失败吗?

在此输入图像描述

Ers*_*soy 5

是的,你是对的,Redis 中没有“表”的概念。该框架的最新版本中仅提供三个选项。

  • 关系型数据库
  • 动态数据库
  • 空(不记录)

另一种选择是使用Laravel Horizo​​n。根据文档;

Horizo​​n 配置文件允许您配置最近和失败的作业应保留多长时间(以分钟为单位)。默认情况下,最近的作业保留一小时,失败的作业保留一周。

它将使用 Redis 来保存失败的作业,不需要关系数据库。