JustPaste
JustPaste
Tutorial 01 Februari 2026 1 menit baca 1.565 views Regi Pratama

Queues dan Jobs di Laravel: Proses Background yang Handal

Tidak ada pengguna yang mau menunggu lebih dari 3 detik. Pindahkan proses berat ke background queue.

Kapan Menggunakan Queue?

  • Kirim email (jangan pernah sinkron)

  • Generate PDF atau report besar

  • Resize dan upload gambar

  • Memanggil API eksternal

  • Notifikasi ke banyak user

Setup Queue dengan Redis

QUEUE_CONNECTION=redis

Membuat Job

php artisan make:job SendWelcomeEmail
class SendWelcomeEmail implements ShouldQueue
{
    use Queueable;

public function __construct(private User $user) {}

public function handle(): void { Mail::to($this->user)->send(new WelcomeMail($this->user)); } }

Dispatch Job

SendWelcomeEmail::dispatch($user);

// Dengan delay SendWelcomeEmail::dispatch($user)->delay(now()->addMinutes(5));

// Pada queue tertentu SendWelcomeEmail::dispatch($user)->onQueue('emails');

Jalankan Worker

# Development
php artisan queue:work

Production (dengan supervisor)

php artisan queue:work redis --queue=emails,default --sleep=3 --tries=3

Retry dan Error Handling

public int $tries = 3;
public int $backoff = 60; // tunggu 60 detik sebelum retry

Bagikan artikel ini: