LaRavelov čakalni sistem obravnava delovne sile in napake na naslednje načine:
Job se preusmeri
1. Konfiguracijski poskusi: lahko konfigurirate opravila, ki jih je treba ponovno uvesti, če ne uspejo zaradi začasnih napak, kar povečuje zanesljivost sistema. To se naredi z nastavitvijo lastnosti "poskusi" v razredu zaposlitve [2] [3].
2. Samodejni poskusi: Laravel ponuja samodejne poskuse za neuspešna opravila. Če opravilo ne uspe, bo to določeno številokrat, preden ga označimo kot neuspešno [2] [3].
3. Logika ponovnega poskusa delovnega mesta: v razredu dela lahko določite metodo "neuspele" za reševanje neuspehov delovnih mest. Ta metoda se pokliče, ko delo ne uspe, in vam omogoča, da izvajate dejanja, specifična za delo [3].
Neuspeh v delovnem mestu
1. Tabela neuspešnih opravil: Shranjevanje propadlih delovnih mest v tabeli baze podatkov `Failed_jobs`. Ta tabela vsebuje informacije o ID -ju opravila, povezavi, čakalni vrsti in času okvare [3].
2. Ogled neuspelih opravil: Vsa neuspešna opravila si lahko ogledate s pomočjo ukaza `čakalne: neuspele 'obrtnika. Ta ukaz navaja ID opravila, povezavo, čakalno vrsto in čas odpovedi [3].
3. Ponovno odpovedati neuspešna delovna mesta: Lahko poskusite z neuspešnimi opravili s pomočjo ukaza `` `retry 'artisan. Ta ukaz vzame ID opravila kot argument in si prizadeva za delo. Vsa neuspešna opravila lahko ponovno poskusite tudi z uporabo `čakalne vrste: poskusite vse` [3] [5].
4. Izbrisanje neuspelih opravil: Uspela opravila lahko izbrišete s pomočjo `čakalne vrste: Pozabi` Ukaz Artisan. Ta ukaz vzame ID opravila kot argument in izbriše delo. Vsa neuspešna opravila lahko izbrišete tudi z `čakalno: flush` [3].
Sklep
Laravelov sistem čakalnih vrst zagotavlja robustne mehanizme za ravnanje z delovnimi sredstvi in napakami. S konfiguracijo poskusov, ogledom neuspelih delovnih mest, ponovnim poskusom neuspešnih delovnih mest in brisanjem neuspelih delovnih mest lahko zagotovite zanesljivost in učinkovitost vaših nalog za obdelavo v ozadju.
Navedbe:[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-minutes-if-failed
[5] https://stackoverflow.com/questions/30778924/laravel-4-retry-all-failed-jobs