Ing Laravel, Redis Queue iku alat kuat digunakake kanggo nangani tugas long-mlaku lan wektu-akeh tanpa ngenteni sing completion. Kanthi nggunakake Redis Queue, sampeyan bisa enqueue tugas kayata ngirim email, ngolah tugas latar mburi, utawa ngasilake laporan, lan nglakokake kanthi ora sinkron, ningkatake kinerja aplikasi lan nambah pengalaman pangguna.
Langkah-langkah dhasar kanggo Gunakake Redis Queue ing Laravel
Ngatur Redis
Kaping pisanan, sampeyan kudu nginstal lan ngatur Redis ing Laravel. Priksa manawa sampeyan wis nginstal Redis paket liwat Composer lan ngatur Redis paramèter sambungan ing .env
file.
CACHE_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Netepake Proyek
Sabanjure, sampeyan kudu nemtokake proyek sing pengin dilebokake ing antrian. Pakaryan kasebut bakal ditindakake kanthi ora sinkron lan ora gumantung saka pangolahan utama aplikasi kasebut.
// Example defining a job to send an email
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;
class SendEmailJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $user;
public function __construct($user)
{
$this->user = $user;
}
public function handle()
{
// Handle sending an email to the user
Mail::to($this->user->email)->send(new WelcomeEmail());
}
}
Sijine Proyek menyang Antrian
Yen sampeyan pengin nindakake proyek, sampeyan mung sijine menyang antrian nggunakake dispatch
utawa dispatchNow
fungsi:
use App\Jobs\SendEmailJob;
use Illuminate\Support\Facades\Queue;
// Put the job into the queue and perform asynchronously
Queue::push(new SendEmailJob($user));
// Put the job into the queue and perform synchronously(without waiting)
Queue::push(new SendEmailJob($user))->dispatchNow();
Proses Proyek saka Antrian
Sawise proyek wis sijine menyang antrian, sampeyan kudu nyiyapake a Worker kanggo nglakokaké proyek ing antrian. Laravel dilengkapi artisan command kanggo mbukak worker:
php artisan queue:work
Bakal worker terus ngrungokake lan nglakokake proyek ing antrian. Sampeyan bisa ngatur worker kanggo nangani nomer proyek lan wektu ngenteni antarane babak Processing.
Ngatur Proyek ing Antrian
Laravel menehi antarmuka Manajemen ngendi sampeyan bisa ngawasi lan ngontrol proyek ing antrian. Sampeyan bisa ndeleng jumlah proyek sing ditundha, wektu pangolahan, lan malah nyoba maneh proyek sing gagal.
Kesimpulan Nggunakake Redis Queue ing Laravel minangka cara sing efisien kanggo nangani tugas sing wis suwe tanpa ngganggu proses utama aplikasi kasebut. Kanthi nggunakake Redis Queue, sampeyan bisa nambah kinerja aplikasi lan nambah pengalaman pangguna.