Visão geral
Neste guia, você pode aprender como usar o MongoDB como seu banco de dados para o Laravel Queue. O Laravel Queue permite criar trabalhos em fila que são processados em segundo plano.
Configuração
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 |
---|---|
| Necessário driver de fila para usar. O valor desta propriedade deve ser |
| Conexão do banco de dados usada para armazenar tarefas. Deve ser uma conexão |
| Nome necessário da collection do MongoDB para armazenar as tarefas a serem processadas. |
| Obrigatório Nome da fila. |
| Especifica quantos segundos a conexão da fila deve aguardar antes de tentar novamente um tarefa que está sendo processado. O valor é |
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 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 |
---|---|
| Necessário driver de fila para usar. O valor desta propriedade deve ser |
| Conexão do banco de dados usada para armazenar tarefas. Deve ser uma conexão |
| Nome da collection MongoDB para armazenar tarefas com falha. O valor é |
A integração do Laravel fornece automaticamente a classe MongoDB\Laravel\MongoDBQueueServiceProvider::class
como provedor de serviços para lidar com tarefas com falha.
Lote de tarefas
Olote 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 esta funcionalidade, consulte Lote de tarefas 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 |
---|---|
| Necessário driver de fila para usar. O valor desta propriedade deve ser |
| Conexão do banco de dados usada para armazenar tarefas. Deve ser uma conexão |
| Nome da collection MongoDB para armazenar lotes de tarefa . O valor é |
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 .