„Laravel“ eilės sistema tvarko darbo pakartojimus ir nesėkmes šiais būdais:
Darbo pakartojimai
1. Tai daroma nustatant „bandymo“ nuosavybę darbo klasėje [2] [3].
2. Automatiniai pakartojimai: „Laravel“ teikia automatinius nepavykusių darbų pakartojimus. Jei darbas nepavyks, jis bus pakartotinai pakartotinai nurodytas, prieš tai pažymėtas kaip nepavykęs [2] [3].
3. Darbo bandymo logika: Galite apibrėžti „nepavykusio“ metodą darbo klasėje, kad galėtumėte tvarkyti darbo nesėkmes. Šis metodas vadinamas, kai darbas nepavyksta, ir leidžia atlikti konkrečius darbui būdingus veiksmus [3].
darbo nesėkmės
1. Nepavyko užduoties lentelė: „Laravel Stores“ nepavyko užduoties „Fail_jobs“ duomenų bazės lentelėje. Šioje lentelėje yra informacijos apie darbo ID, ryšį, eilę ir gedimo laiką [3].
2. Nepavykusių darbų peržiūra: Visus nepavykusius darbus galite peržiūrėti naudodamiesi „eilė: nepavyko“ amatininkų komanda. Ši komanda pateikia darbo ID, ryšį, eilę ir gedimo laiką [3].
3. Bandymas nepavyko užduoties: Galite dar kartą bandyti nesėkmingus darbus naudodamiesi „eilės: bandymo amatininkų komanda“. Ši komanda priima darbo ID kaip argumentą ir pakeičia darbą. Taip pat galite dar kartą pakartoti visus nesėkmingus darbus, naudodamiesi „Queue: Retry All“ [3] [5].
4. Nepavykusių darbų ištrinimas: Naudodamiesi „EqueUe: Pamiršk“ amatininko komanda, galite ištrinti nesėkmingus darbus. Ši komanda priima darbo ID kaip argumentą ir ištrina darbą. Taip pat galite ištrinti visus nesėkmingus darbus naudodami „Queue: Flush“ [3].
Išvada
„Laravel“ eilės sistema suteikia patikimus darbo vietų tvarkymo mechanizmus ir nesėkmes. Konfigūruodami pakartojimus, peržiūrėdami nepavykusius darbus, bandydami nepavykusius darbus ir ištrynę nesėkmingus darbus, galite užtikrinti savo foninio apdorojimo užduočių patikimumą ir efektyvumą.
Citatos:[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- ofter-x-minutes-iffailed
[5] https://stackoverflow.com/questions/30778924/laravel-4-retry-allfailed-jobs