Queues
Visão geral
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.
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 |
---|---|
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.
Lote de tarefas
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 .