Menjalankan Laravel Queue di cPanel Menggunakan Cronjob

Z

Zain

Guest
Laravel punya sistem queue yang sangat berguna untuk menjalankan proses di background, misalnya mengirim email, generate laporan, atau memproses upload besar. Biasanya, di server VPS kita bisa menggunakan Supervisor untuk menjaga queue worker tetap hidup. Tapi di shared hosting dengan cPanel, Supervisor tidak tersedia. Solusinya: gunakan cronjob.

  1. Definisikan Queue Worker di Scheduler Di app/Console/Kernel.php, tambahkan perintah queue worker:

Code:
$schedule->command('queue:work --stop-when-empty')
    ->everyMinute()
    ->withoutOverlapping();

Penjelasan singkat:

queue:work β†’ menjalankan queue worker.
--stop-when-empty β†’ worker berhenti setelah semua job selesai.
everyMinute() β†’ worker dijalankan setiap menit.
withoutOverlapping() β†’ mencegah duplikasi proses worker.

  1. Tambahkan Cronjob di cPanel Buka cPanel β†’ Cron Jobs, lalu tambahkan salah satu perintah berikut (sesuai versi PHP yang digunakan di hosting Anda):

Code:
* * * * * /usr/local/bin/ea-php81 /home/{account_name}/live/artisan schedule:run

atau jika server Anda pakai PHP 8.4:


Code:
* * * * * /usr/local/bin/ea-php84 /home/{account_name}/live/artisan schedule:run

πŸ‘‰ Sesuaikan:

{account_name} β†’ ganti dengan nama akun hosting Anda.
live β†’ ganti dengan name directory project Laravel.
ea-php81, ea-php82, ea-php84 β†’ pilih sesuai versi PHP aktif di cPanel Anda.

Naral.dev

Continue reading...
 


Join 𝕋𝕄𝕋 on Telegram
Channel PREVIEW:
Back
Top