Filas
Para usar o MongoDB como seu banco 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', 'collection' => '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. |
collection | 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 trabalho que está sendo processado. O valor é 60 por padrão. |
Para usar o MongoDB para lidar com tarefas com falha, crie uma entrada failed
no arquivo config/queue.php
do seu aplicativo e especifique o banco de dados e a coleção:
'failed' => [ 'driver' => 'mongodb', 'database' => 'mongodb', 'collection' => '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 . |
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. |
collection | Nome da collection MongoDB para armazenar tarefas com falha. O valor é failed_jobs por padrão. |
Em seguida, adicione o provedor de serviços no arquivo config/app.php
do seu aplicativo:
MongoDB\Laravel\MongoDBQueueServiceProvider::class,
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 Lote de tarefa na documentação do Laravel.
No MongoDB, você não precisa criar uma collection designada antes de usar o batch de trabalho. A coleção job_batches
é criada automaticamente para armazenar metadados sobre seus lotes de tarefas, 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', 'collection' => 'job_batches', ],
A tabela a seguir descreve as propriedades que você pode especificar para configurar o lote de tarefas:
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. |
collection | Nome da collection MongoDB para armazenar lotes de trabalho. O valor é job_batches por padrão. |
Em seguida, adicione o provedor de serviços no arquivo config/app.php
do seu aplicativo:
MongoDB\Laravel\MongoDBBusServiceProvider::class,