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.
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.
atau jika server Anda pakai PHP 8.4:
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...
- 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.
- 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

{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...