Menghapus Queue Job Menggunakan Redis Artisan Command Di Laravel - CRUDPRO

Menghapus Queue Job Menggunakan Redis Artisan Command Di Laravel

Menghapus Queue Job Menggunakan Redis Artisan Command Di Laravel

Pertanyaannya adalah bagaimana cara menghapus semua pekerjaan yang antri di Laravel saat Anda menggunakan redis sebagai driver Antrian.

Untuk melakukan ini ada beberapa opsi:

Opsi-1: umum

Menggunakan paket laravel-queue-clear yang dikembangkan oleh Craig Morris yang menyediakan alat yang berguna untuk menghapus semua jenis pekerjaan yang antri dengan perintah artisan. Paket ini komprehensif dan tidak hanya untuk redis.

Untuk menghapus antrian Anda, Anda perlu menjalankan ini:

php artisan queue:clear [connection] [queue]

dimana [koneksi] adalah :

nama koneksi di config/queue.php Anda

dan [antrian] adalah:

nama antrian / pipa yang ingin Anda hapus

Opsi-2: redis

Di terminal Anda dapat menggunakan perintah ini:

FLUSHDB

Yang berasal dari sini tautan ini.

$ redis-cli
127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379> exit

Maka hasilnya di Laravel.dev/horizon adalah sebagai berikut dan semua pekerjaan yang antri akan dihapus dengan mudah:

Menghapus Queue Job Menggunakan Redis Artisan Command Di Laravel
Opsi-3: redis

gunakan redis di pengontrol seperti:

use Redis;

Dan kemudian dalam suatu tindakan, letakkan ini:

Redis::command('flushdb');

Dan kemudian memicu tindakan itu melalui route::get();

Opsi-5: redis

Buat perintah tukang dengan:

php artisan make:command FlushRedis --command=flush:redis

Kemudian daftarkan di file Kernel.php di app/Console sebagai berikut:

Menghapus Queue Job Menggunakan Redis Artisan Command Di Laravel

Kemudian dalam metode handle() dari file FlushRedis.php masukkan ini:

Redis::command('flushdb');

Pada akhirnya, jalankan perintah:

php artisan flush:redis

Selesai! Semua pekerjaan yang antri akan dihapus.

Opsi-5: redis + tinker

Terima kasih kepada @edilsoncichon atas komentarnya yang bagus dan memperkenalkan opsi ini.

Di terminal Anda dapat menggunakan perintah ini:

php artisan tinker;

Kemudian lakukan ini:

>>> use Redis;
>>> Redis :: command (‘flushdb’);

Jadi tidak diperlukan penulisan kode!

Catatan:

Ingatkan bahwa Laravel di luar kotak memiliki perintah artisan untuk menghapus semua pekerjaan Anda yang gagal:

php artisan queue:flush

Semoga artikel ini dapat bermanfaat dan jika ada yang belum dimengerti silahkan tinggalkan pertanyaan anda di kolom komentar ya! Terimaksih