Menu Docs
Página inicial do Docs
/ / /
Laravel MongoDB

Queues

Neste guia, você pode aprender como usar o MongoDB como seu banco de dados de dados para o Laravel Queue. O Laravel Queue permite criar trabalhos em fila que são processados em segundo plano.

Para usar o MongoDB como seu banco de dados de dados para o Laravel Queue, altere o driver no arquivo config/queue.php do seu aplicativo:

'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,
],
],

A tabela a seguir descreve as propriedades que você pode especificar para configurar o comportamento da fila:

Contexto
Descrição
driver
Necessário driver de fila para usar. O valor desta propriedade deve ser mongodb.
connection
Conexão do banco de dados usada para armazenar tarefas. Deve ser uma conexão mongodb . O driver usa a conexão padrão se nenhuma conexão for especificada.
table
Nome necessário da collection do MongoDB para armazenar as tarefas a serem processadas.
queue
Obrigatório Nome da fila.
retry_after
Especifica quantos segundos a conexão da fila deve aguardar antes de tentar novamente um tarefa que está sendo processado. O valor é 60 por padrão.

Para usar o MongoDB para lidar com tarefas com falha, crie uma failed entrada no arquivo do seu aplicativo config/queue.php e especifique o banco de dados de dados e a coleção:

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

A tabela a seguir descreve as propriedades que você pode especificar para configurar como lidar com tarefas com falha:

Contexto
Descrição
driver
Necessário driver de fila para usar. O valor desta propriedade deve ser mongodb.
database
Conexão do banco de dados usada para armazenar tarefas. Deve ser uma conexão mongodb . O driver usa a conexão padrão se nenhuma conexão for especificada.
table
Nome da collection MongoDB para armazenar tarefas com falha. O valor é failed_jobs por padrão.

Para registrar tarefas com falha, você pode usar o provedor de tarefa com falha padrão do Laravel. Para saber mais, consulte Lidando com trabalhos com falha na documentação do Laravel sobre Queues.

O lote de tarefas é um recurso do Laravel que permite executar uma lote de tarefas e ações relacionadas antes, depois e durante a execução das tarefas da fila. Para saber mais sobre esse recurso, consulte Agrupamento de tarefas em lote na documentação do Laravel.

No MongoDB, você não precisa criar uma coleção designada antes de usar o lote de tarefa . A coleção job_batches é criada automaticamente para armazenar metadados sobre seus lotes de tarefa , como a porcentagem de conclusão.

Para habilitar o batch de tarefa , crie a entrada batching no arquivo config/queue.php do seu aplicativo:

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

A tabela a seguir descreve as propriedades que você pode especificar para configurar o lote de tarefa :

Contexto
Descrição
driver
Necessário driver de fila para usar. O valor desta propriedade deve ser mongodb.
database
Conexão do banco de dados usada para armazenar tarefas. Deve ser uma conexão mongodb . O driver usa a conexão padrão se nenhuma conexão for especificada.
table
Nome da collection MongoDB para armazenar lotes de tarefa . O valor é job_batches por padrão.

Em seguida, adicione o provedor de serviços no arquivo config/app.php do seu aplicativo:

A Integração Laravel fornece automaticamente a classe MongoDB\Laravel\MongoDBBusServiceProvider::class como o provedor de serviços para lote de tarefa .

Voltar

Cache e travas