Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Bagaimana sistem antrian Laravel menangani pekerjaan dan kegagalan


Bagaimana sistem antrian Laravel menangani pekerjaan dan kegagalan


Sistem antrian Laravel menangani pekerjaan menggali kembali dan kegagalan dengan cara berikut:

Job Retries

1. Retries yang Dapat Dikonfigurasi: Anda dapat mengonfigurasi pekerjaan yang harus diceritakan kembali jika gagal karena kesalahan sementara, meningkatkan keandalan sistem. Ini dilakukan dengan mengatur properti `mencoba` di kelas pekerjaan [2] [3].

2. Retries Otomatis: Laravel menyediakan retries otomatis untuk pekerjaan yang gagal. Jika suatu pekerjaan gagal, itu akan diceritakan kembali beberapa kali sebelum ditandai sebagai gagal [2] [3].

3. Logika Coba Ulang Pekerjaan: Anda dapat mendefinisikan metode `gagal` pada kelas pekerjaan untuk menangani kegagalan pekerjaan. Metode ini dipanggil ketika suatu pekerjaan gagal dan memungkinkan Anda melakukan tindakan khusus pekerjaan [3].

Kegagalan Pekerjaan

1. Tabel Pekerjaan Gagal: Laravel menyimpan pekerjaan yang gagal dalam tabel database `fagal_jobs`. Tabel ini berisi informasi tentang ID pekerjaan, koneksi, antrian, dan waktu kegagalan [3].

2. Melihat Pekerjaan Gagal: Anda dapat melihat semua pekerjaan yang gagal menggunakan perintah `antrian: gagal` pengrajin. Perintah ini mencantumkan ID pekerjaan, koneksi, antrian, dan waktu kegagalan [3].

3. Mencoba lagi pekerjaan yang gagal: Anda dapat mencoba lagi pekerjaan yang gagal menggunakan perintah `antrian: coba lagi`. Perintah ini mengambil ID pekerjaan sebagai argumen dan mencoba kembali pekerjaan itu. Anda juga dapat mencoba lagi semua pekerjaan yang gagal dengan menggunakan `antrian: coba lagi semua` [3] [5].

4. Menghapus pekerjaan yang gagal: Anda dapat menghapus pekerjaan yang gagal menggunakan perintah `antrian: lupa`. Perintah ini mengambil ID pekerjaan sebagai argumen dan menghapus pekerjaan. Anda juga dapat menghapus semua pekerjaan yang gagal dengan menggunakan `antrian: flush` [3].

Kesimpulan

Sistem antrian Laravel menyediakan mekanisme yang kuat untuk menangani pekerjaan ulang dan kegagalan. Dengan mengonfigurasi ulang, melihat pekerjaan yang gagal, mencoba kembali pekerjaan yang gagal, dan menghapus pekerjaan yang gagal, Anda dapat memastikan keandalan dan efisiensi tugas pemrosesan latar belakang Anda.

Kutipan:
[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