Docs Menu
Docs Home
/ / /
Lambda MongoDB

Queues

このガイドでは、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,
],
],

次の表では、キューの動作を構成するために指定できるプロパティについて説明します。

設定
説明
driver
使用する必要があるキュー ドライバー。 このプロパティの値はmongodbである必要があります。
connection
ジョブを保存するために使用されるデータベース接続。 mongodb接続である必要があります。 接続が指定されていない場合、ドライバーはデフォルトの接続を使用します。
table
処理するジョブを保存する MongoDB コレクションの必須名前。
queue
必須キューの名前。
retry_after
処理中のジョブを再試行する前にキュー接続が待機する時間を指定します。 値はデフォルトで60です。

MongoDBを使用して 失敗したジョブ を処理するには、アプリケーションのfailed config/queue.phpファイルに エントリを作成し、データベースとコレクションを指定します。

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

次の表では、失敗したジョブの処理方法を構成するために指定できるプロパティについて説明します。

設定
説明
driver
使用する必要があるキュー ドライバー。 このプロパティの値はmongodbである必要があります。
database
ジョブを保存するために使用されるデータベース接続。 mongodb接続である必要があります。 接続が指定されていない場合、ドライバーはデフォルトの接続を使用します。
table
失敗したジョブを保存する MongoDB コレクションの名前。 値はデフォルトでfailed_jobsです。

失敗したジョブを登録するには、Lambda のデフォルトの失敗したジョブプロバイダーを使用できます。詳細については、キューに関する Lambda ドキュメントの「 失敗したジョブの処理 」を参照してください。

ジョブのバッチ処理は、キューからジョブを実行する前、実行中、および実行中にジョブと関連するアクションのバッチを実行できるラベルの機能です。 この機能について詳しくは、次を参照してください: ジョブバッチ Lambda のドキュメント。

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ファイルにサービス プロバイダーを追加します。

Lambda 統合により、ジョブバッチ用のサービス プロバイダーとして MongoDB\Laravel\MongoDBBusServiceProvider::classクラスが自動的に提供されます。

戻る

キャッシュとロック