Het wachtrijsysteem van Laravel behandelt op de volgende manieren taken en mislukkingen:
Job Portries
1. Configureerbare ropen: u kunt taken configureren die moeten worden opgebroken als ze falen vanwege tijdelijke fouten, waardoor de systeembetrouwbaarheid wordt verbeterd. Dit wordt gedaan door de eigenschap `tries` in de Job Class in te stellen [2] [3].
2. Automatische pogingen: Laravel biedt automatische herhonden voor mislukte taken. Als een taak mislukt, zal deze een bepaald aantal keren worden verplaatst voordat deze wordt gemarkeerd als mislukt [2] [3].
3. Job Retry Logic: U kunt een methode `mislukte 'op de taakklasse definiëren om functiefouten af te handelen. Deze methode wordt aangeroepen wanneer een taak mislukt en u in staat stelt taakspecifieke acties uit te voeren [3].
Job fouten
1. Mislukte taken tabel: Laravel -winkels mislukte taken in een databasetabel `mislukt_jobs`. Deze tabel bevat informatie over de taak -ID, verbinding, wachtrij en faaltijd [3].
2. Bekijk mislukte banen: u kunt alle mislukte banen bekijken met behulp van de 'wachtrij: mislukte' Artisan Command. Deze opdracht vermeldt de taak -ID, verbinding, wachtrij en faaltijd [3].
3. Registrale mislukte banen opnieuw: u kunt mislukte banen opnieuw proberen met behulp van het 'wachtrij: opnieuw proberen' Artisan Command. Deze opdracht neemt een taak -ID als argument en trok de taak terug. U kunt ook alle mislukte taken opnieuw proberen door `wachtrij te gebruiken: alle '[3] [5] opnieuw proberen.
4. VERWIJDEREN VAN DE FAILE Banen: u kunt mislukte banen verwijderen met behulp van de 'wachtrij: vergeet' Artisan Command. Deze opdracht neemt een taak -ID als argument en verwijdert de taak. U kunt ook alle mislukte taken verwijderen met behulp van `wachtrij: flush` [3].
Conclusie
Het wachtrijsysteem van Laravel biedt robuuste mechanismen voor het afhandelen van taken en fouten. Door het configureren van happen, het bekijken van mislukte taken, het opnieuw proberen van mislukte taken en het verwijderen van mislukte taken, kunt u zorgen voor de betrouwbaarheid en efficiëntie van uw achtergrondverwerkingstaken.
Citaten:[1] https://laracasts.com/discuss/channels/laravel/laravel-queue-retry-jobs-5-times
[2] https://wpwebinfotech.com/blog/laravel-queue-system/
[3] https://laravel.com/docs/5.1/queues
[4] https://laracasts.com/discuss/channels/laravel/queue-job-retry-after-x-inutes-if-faileded
[5] https://stackoverflow.com/questions/30778924/laravel-4-retry-all-tailed-jobs