Queues
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', 'collection' => 'jobs', 'queue' => 'default', // Optional setting // 'retry_after' => 60, ], ],
次の表では、キューの動作を構成するために指定できるプロパティについて説明します。
設定 | 説明 |
---|---|
driver | 使用する必要があるキュー ドライバー。 このプロパティの値は mongodb である必要があります。 |
connection | ジョブを保存するために使用されるデータベース接続。 mongodb 接続である必要があります。 接続が指定されていない場合、ドライバーはデフォルトの接続を使用します。 |
collection | 処理するジョブを保存する MongoDB コレクションの必須名前。 |
queue | 必須キューの名前。 |
retry_after | 処理中のジョブを再試行する前にキュー接続が待機する時間を指定します。 値はデフォルトで 60 です。 |
MongoDB を使用して失敗したジョブを処理するには、アプリケーションのconfig/queue.php
ファイルにfailed
エントリを作成し、データベースとコレクションを指定します。
'failed' => [ 'driver' => 'mongodb', 'database' => 'mongodb', 'collection' => 'failed_jobs', ],
次の表では、失敗したジョブの処理方法を構成するために指定できるプロパティについて説明します。
設定 | 説明 |
---|---|
driver | 使用する必要があるキュー ドライバー。 このプロパティの値は mongodb である必要があります。 |
connection | ジョブを保存するために使用されるデータベース接続。 mongodb 接続である必要があります。 接続が指定されていない場合、ドライバーはデフォルトの接続を使用します。 |
collection | 失敗したジョブを保存する MongoDB コレクションの名前。 値はデフォルトで failed_jobs です。 |
次に、アプリケーションのconfig/app.php
ファイルにサービス プロバイダーを追加します。
MongoDB\Laravel\MongoDBQueueServiceProvider::class,
ジョブバッチ
ジョブのバッチ処理は、キューからジョブを実行する前、実行中、および実行中にジョブと関連するアクションのバッチするを実行できるラベルの機能です。この機能の詳細については、Lambel ドキュメントの ジョブバッチ化 を参照してください。
MongoDB では、ジョブバッチを使用する前に指定されたコレクションを作成する必要はありません。 job_batches
コレクションは、完了率などのジョブ バッチに関するメタデータを保存するために自動的に作成されます。
ジョブ バッチを有効にするには、次のようにアプリケーションのconfig/queue.php
ファイルにbatching
エントリを作成します。
'batching' => [ 'driver' => 'mongodb', 'database' => 'mongodb', 'collection' => 'job_batches', ],
次の表では、ジョブバッチを構成するために指定できるプロパティについて説明します。
設定 | 説明 |
---|---|
driver | 使用する必要があるキュー ドライバー。 このプロパティの値は mongodb である必要があります。 |
connection | ジョブを保存するために使用されるデータベース接続。 mongodb 接続である必要があります。 接続が指定されていない場合、ドライバーはデフォルトの接続を使用します。 |
collection | ジョブ バッチを保存する MongoDB コレクションの名前。 値はデフォルトで job_batches です。 |
次に、アプリケーションのconfig/app.php
ファイルにサービス プロバイダーを追加します。
MongoDB\Laravel\MongoDBBusServiceProvider::class,