Panduan Praktis Cara Menjalankan Laravel Scheduler untuk Otomatisasi Cron Job

15 Jul 2023
Panduan Praktis Cara Menjalankan Laravel Scheduler untuk Otomatisasi Cron Job campaign-unlimited

Apakah kamu masih melakukan pembersihan cache dan backup website berkala secara manual? Keduanya ini merupakan contoh task yang menyita banyak waktu karena harus dilakukan secara berulang-ulang. Laravel Scheduler adalah solusi yang tepat untuk permasalahan ini. Bagaimana cara menjalankan Laravel Scheduler?

Pengelolaan website tanpa strategi yang tepat hanya akan menghasilkan pemborosan tenaga dan waktu. Laravel Scheduler dapat membantu pengelolaan website yang efektif dengan menjadwalkan task secara otomatis sesuai dengan command dari developer. Tanpa berlama-lama, mari cari tahu penjelasan selengkapnya di bawah ini!

Apa Itu Laravel Scheduler?

Laravel Scheduler adalah salah satu fitur dari framework Laravel, yang memungkinkanmu menjadwalkan tugas untuk dijalankan secara otomatis pada waktu tertentu. Cara menjalankan Laravel Scheduler sangat bermanfaat untuk menjalankan tugas rutin tanpa harus melakukannya secara manual.

Dalam praktiknya ini, Laravel Scheduler memanfaatkan fasilitas cron job pada sistem operasi untuk menjalankan tugas-tugas yang telah dijadwalkan. Sudah pernah mendengar apa itu cron job sebelumnya? Cron job adalah mekanisme otomatisasi perintah atau script tertentu.

Biasanya, cron job digunakan untuk menjalankan berbagai perintah, seperti menghapus data cache, melakukan backup, hingga memantau server. Tanpa perlu mengelola konfigurasi secara manual, kamu dapat mengatur cron job menggunakan Laravel Scheduler. Hmmm tapi bagaimana cara melakukannya?

Fungsi Laravel Scheduler

Sebelum kita beranjak ke pembahasan cara menjalankan Laravel Scheduler, mari pelajari dulu apa saja fungsi dari fitur ini. Adapun beberapa kegunaan Laravel Scheduler telah kami rangkumkan sebagai berikut.

1. Otomatisasi Tugas

Salah satu fungsi utama dari Laravel Scheduler adalah mengotomatisasi tugas-tugas dalam proyek Laravel. Fitur ini akan sangat bermanfaat bagi pekerja yang harus berurusan dengan tugas -tugas yang perlu dijalankan secara berkala.

Bagi web developer misalnya, Laravel Scheduler bisa membantu meringankan pekerjaan rutin untuk seperti membersihkan cache dan memperbarui data secara terjadwal. Hal ini tentu dapat meningkatkan efektivitas dan efisiensi pekerjaan.

2. Pemeliharaan Rutin

Proyek Laravel yang kompleks seringkali melibatkan banyak tugas rutin yang perlu dilakukan untuk menjaga aplikasi tetap berjalan dengan baik. Misalnya seperti menjalankan migrasi database secara otomatis, menghapus log aplikasi lama, atau membersihkan file cache.

Tanpa adanya penjadwalan dan mekanisme dari Laravel Scheduler, developer perlu melakukan tugas-tugas ini secara manual. Padahal, melakukannya secara manual dapat memiliki risiko kelalaian.

3. Sinkronisasi Data Eksternal

Apakah kamu menggunakan data eksternal dalam proyek Laravel? Jika iya, kamu bisa memanfaatkan Laravel Scheduler untuk memperbarui data secara berkala.

Misalnya saja, kamu menjalankan proyek yang dengan data dari API eksternal. Penjadwalan Laravel Scheduler dapat sangat bermanfaat untuk memperbarui data secara rutin. Begitu juga dengan proyek yang disinkronkan dengan sistem lain. Kamu bisa menjaga konsistensi data internal dan external dengan memanfaatkan Laravel Scheduler.

4. Pengiriman Email Berkala

Mengetahui cara menjalankan Laravel Scheduler dapat membantumu dalam pengiriman email rutin. Bagi kamu yang mungkin menyediakan newsletter atau laporan harian untuk pelanggan, kamu bisa menjadwalkan pengiriman email secara berkala dalam interval waktu yang kamu tentukan sendiri.

5. Mengeksekusi Perintah Artisan

Laravel Scheduler memungkinkanmu untuk menjalankan perintah artisan yang telah dibuat dalam proyek Laravel. Hal ini memberikan fleksibilitas untuk menjadwalkan eksekusi perintah khusus yang diperlukan dalam proyek. Katakanlah, seperti menjalankan perintah migrasi, menjalankan pengujian (testing), menjalankan perintah kustom, dan lainnya.

Panduan Cara Menjalankan Cron Job dengan Laravel Scheduler

Akhirnya tiba pada pembahasan panduan ini. Pada bagian ini kami akan menjelaskan panduan praktis dari cara menjalankan Laravel Scheduler untuk cron job. Mari ikuti penjelasannya langkah demi langkah!

1. Konfigurasi Lingkungan

Pastikan kamu telah melakukan konfigurasi lingkungan Laravel dengan benar. Hal ini melibatkan pengaturan database dan koneksi lain yang diperlukan oleh task yang akan dijalankan.

2. Mengatur Jadwal Tugas

Berikutnya, mulai atur jadwal tugas dengan membuka file app/Console/Kernel.php dalam proyek Laravel. Di dalamnya, kamu akan menemukan metode schedule yang digunakan untuk mendefinisikan jadwal tugas. Gunakan metode ini untuk menentukan kapan tugas harus dijalankan.

   php

   use Illuminate\Console\Scheduling\Schedule;

   protected function schedule(Schedule $schedule)

   {

       // Tambahkan tugas-tugas di sini

   }

3. Menentukan Tugas

Usai mengatur jadwal tugas, selanjutnya kamu perlu menentukan tugas-tugas yang ingin dijalankan. Tugas-tugas ini bisa berupa pemanggilan fungsi atau menjalankan perintah artisan. Misalnya, untuk menjalankan perintah artisan cache:clear, kamu bisa menggunakan metode ->command(‘cache:clear’) dalam metode schedule.

   php

   $schedule->command(‘cache:clear’)->daily();

4. Menentukan Interval

Tentukan interval waktu di antara setiap eksekusi tugas. Misalnya, kamu ingin menjalankan tugas setiap 5 menit, maka kamu dapat menggunakan metode ->everyFiveMinutes().

   php

   $schedule->command(‘cache:clear’)->everyFiveMinutes();

5. Membuat Cron Entry

Selanjutnya, jika kamu sudah selesai dengan pengaturan jadwal dan tugas, kamu perlu membuat cron entry supaya Laravel Scheduler dapat diotomatisasi. Cron entry ini nantinya akan menjalankan command artisan schedule:run pada interval waktu yang sudah kamu atur. Berikut langkah-langkah membuat cron entry:

  • Buka terminal atau SSH ke server dan masukkan perintah crontab -e untuk membuka crontab.
  • Berikutnya, tambahkan baris ini untuk menjalankan Laravel Scheduler setiap menit:  

   * * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

  • Ubahlah /path-to-your-project sesuai dengan path proyek Laravelmu.

6. Menjalankan Scheduler

Lalu, bagaimana cara menjalankan Laravel Scheduler? Simpan perubahan pada crontab pada langkah sebelumnya. Setelah kamu menyimpan perubahan ini, maka Laravel Scheduler akan berjalan secara otomatis sesuai jadwal yang telah diatur.

Sesuai dengan script sebelumnya, cron job akan menjalankan perintah artisan schedule:run setiap menit untuk memeriksa apakah ada tugas yang perlu dijalankan. Namun, jika kamu ingin menjalankannya secara manual untuk menguji, maka gunakan perintah berikut di terminal: php artisan schedule:run.

7. Memantau Output

Guna memantau kinerja dari Laravel Scheduler, lakukan pemeriksaan pada output dan log. Setiap kali menjalankan Scheduler, output akan ditulis ke dalam log storage/logs/schedule.log pada proyek.

Selain itu, kamu juga dapat mengatur konfigurasi pengiriman email untuk menerima notifikasi jika terjadi kesalahan tugas yang dijalankan. Untuk melakukannya, pastikan kamu telah melakukan konfigurasi pada  MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_USERNAME, dan MAIL_PASSWORD dengan benar.

8. Menambahkan Tugas Baru

Bagaimana jika kamu ingin menambahkan tugas baru? Apabila kamu perlu menambahkan tugas baru, buatlah command menggunakan perintah php artisan make:command NamaCommand.

Command ini akan membantu untuk membuat file command baru di dalam direktori app/Console/Commands. Selanjutnya, kamu bisa menambahkan tugas ke metode schedule dalam file Kernel.php dan menentukan waktu eksekusinya.

   php

   protected function schedule(Schedule $schedule)

   {

       $schedule->command(‘cache:clear’)->daily();

       $schedule->command(‘my-command’)->everyMinute();

   }

9. Menguji Laravel Scheduler

Terakhir, pastikan Laravel Scheduler berjalan sesuai dengan yang diharapkan. Lakukan pemantauan output dan log untuk memastikan tugas telah dieksekusi pada waktu yang tepat. Selain itu, kamu juga bisa melakukan pengujian dengan menjalankan Scheduler secara manual untuk melihat apakah tugas telah berhasil dieksekusi.

Dengan mengikuti panduan cara menjalankan Laravel Scheduler ini, kamu bisa menjadwalkan dan menjalankan tugas-tugas secara otomatis, mengotomatisasi pekerjaan rutin, dan mempermudah pemeliharaan aplikasi Laravel. Semoga penjelasan kami ini dapat menambah wawasanmu ya.

Kamu suka artikel seperti ini? Baca juga artikel lainnya di blog IDwebhost dan subscribe untuk mendapatkan update artikel terbaru kami. Jangan lewatkan juga promo web hosting terbaik IDwebhost setiap harinya. Yuk, cek sekarang!

Elly Santi
Member since 7 Sep 2022