Overview
このガイドでは、Laravel Queue のデータベースとしてMongoDB を使用する方法を学習できます。 Lalavel Queue を使用すると、バックグラウンドで処理されるキューに入れられたジョブを作成できます。
構成
Lalavel Queue のデータベースとして MongoDB を使用するには、アプリケーションの 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, ], ],
次の表では、キューの動作を構成するために指定できるプロパティについて説明します。
設定 | 説明 |
---|---|
| 使用する必要があるキュー ドライバー。 このプロパティの値は |
| ジョブを保存するために使用されるデータベース接続。 |
| 処理するジョブを保存する MongoDB コレクションの必須名前。 |
| 必須キューの名前。 |
| 処理中のジョブを再試行する前にキュー接続が待機する時間を指定します。 値はデフォルトで |
MongoDB を使用して 失敗したジョブ を処理するには、アプリケーションのfailed
config/queue.php
ファイルに エントリを作成し、データベースとコレクションを指定します。
'failed' => [ 'driver' => 'mongodb', 'database' => 'mongodb', 'table' => 'failed_jobs', ],
次の表では、失敗したジョブの処理方法を構成するために指定できるプロパティについて説明します。
設定 | 説明 |
---|---|
| 使用する必要があるキュー ドライバー。 このプロパティの値は |
| ジョブを保存するために使用されるデータベース接続。 |
| 失敗したジョブを保存する MongoDB コレクションの名前。 値はデフォルトで |
Lambda 統合により、失敗したジョブを処理するためのサービスプロバイダーとして MongoDB\Laravel\MongoDBQueueServiceProvider::class
クラスが自動的に提供されます。
ジョブバッチ
Job batching is a Laravel feature that enables you to execute a batch of jobs and related actions before, after, and during the execution of the jobs from the queue. To learn more about this feature, see Job Batching in the Laravel documentation.
MongoDB では、ジョブバッチを使用する前に指定されたコレクションを作成する必要はありません。 job_batches
コレクションは、完了率などのジョブ バッチに関するメタデータを保存するために自動的に作成されます。
ジョブ バッチを有効にするには、次のようにアプリケーションのconfig/queue.php
ファイルにbatching
エントリを作成します。
'batching' => [ 'driver' => 'mongodb', 'database' => 'mongodb', 'table' => 'job_batches', ],
次の表では、ジョブバッチを構成するために指定できるプロパティについて説明します。
設定 | 説明 |
---|---|
| 使用する必要があるキュー ドライバー。 このプロパティの値は |
| ジョブを保存するために使用されるデータベース接続。 |
| ジョブ バッチを保存する MongoDB コレクションの名前。 値はデフォルトで |
次に、アプリケーションのconfig/app.php
ファイルにサービス プロバイダーを追加します。
Lambda 統合により、ジョブバッチ用のサービス プロバイダーとして MongoDB\Laravel\MongoDBBusServiceProvider::class
クラスが自動的に提供されます。