文档菜单
文档首页
/ / /
Laravel MongoDB

队列

在这份指南中,您可以了解如何将 MongoDB 作为 Laravel Queue 的数据库。Laravel Queue 允许您创建后台处理的队列任务。

要使用 MongoDB 作为 Laravel 队列的数据库,请更改您应用程序的config/queue.php 文件中的驱动程序

'connections' => [
'database' => [
'driver' => 'mongodb',
// You can also specify your jobs-specific database
// in the config/database.php file
'connection' => 'mongodb',
'table' => 'jobs',
'queue' => 'default',
// Optional setting
// 'retry_after' => 60,
],
],

以下表格描述了您可以指定以配置队列行为的属性

设置
描述
driver
必需 要使用的队列驱动程序。此属性的值必须是 mongodb
connection
用于存储作业的数据库连接。它必须是 mongodb 连接。如果没有指定连接,驱动程序将使用默认连接。
table
必需 存储待处理作业的 MongoDB 集合名称。
queue
必需 队列名称。
retry_after
指定队列连接在重试正在处理的作业之前应等待多少秒。默认值为 60

要使用 MongoDB 处理 失败的作业,请在您的应用程序的 config/queue.php 文件中创建一个 failed 条目并指定数据库和集合

'failed' => [
'driver' => 'mongodb',
'database' => 'mongodb',
'table' => 'failed_jobs',
],

以下表格描述了您可以指定以配置如何处理失败作业的属性

设置
描述
driver
必需 要使用的队列驱动程序。此属性的值必须是 mongodb
database
用于存储作业的数据库连接。它必须是 mongodb 连接。如果没有指定连接,驱动程序将使用默认连接。
table
存储失败作业的 MongoDB 集合名称。默认值为 failed_jobs

要注册失败作业,您可以使用 Laravel 的默认失败作业提供程序。有关更多信息,请参阅处理失败的作业 Laravel 关于队列的文档中的

工作批量处理是Laravel的一个功能,允许您在队列作业的执行之前、之后以及执行过程中执行一系列作业和相关操作。要了解更多关于此功能的信息,请参阅Laravel文档中的工作批量处理

在MongoDB中,在使用工作批量处理之前,无需创建特定的集合。系统会自动创建job_batches集合来存储关于工作批量的元数据,例如其完成百分比。

要启用工作批量处理,请在应用的config/queue.php文件中创建batching条目

'batching' => [
'driver' => 'mongodb',
'database' => 'mongodb',
'table' => 'job_batches',
],

以下表格描述了您可以指定以配置工作批量的属性

设置
描述
driver
必需 要使用的队列驱动程序。此属性的值必须是 mongodb
database
用于存储作业的数据库连接。它必须是 mongodb 连接。如果没有指定连接,驱动程序将使用默认连接。
table
用于存储工作批量的MongoDB集合的名称。默认值为job_batches

然后,在应用的config/app.php文件中添加服务提供者

Laravel集成自动提供MongoDB\Laravel\MongoDBBusServiceProvider::class类作为工作批量处理的服务提供者。

返回

缓存 & 锁