Monday, October 3, 2016

Contoh Task Scheduling di Laravel 5.3

Di sini kita akan bermain dengan task scheduling di laravel 5.3. So pertama-tama silahkan buat fresh laravel project... Terus kita buat command baru, pake perintah ini :
"php artisan make:console hisokaLog --command=hisoka:log"
Kita bakalan dapat file baru kek gini :
Eeeh... yg variabel $description itu bisa kita ganti jadi kek gini :
Terrrusss... command yg barusan kita buat ini didaftarin di array command di console kernel seperti terlihat di bawah :

Naaah... klu kita execute perintah "php artisan", kita bisa liad command yg barusan dibikin...
Yaaaaps.... berarti udah okieee... :D

Teruuus.... balik ke hisokaLog... didalam command hisokaLog kita ada method handle, naah method ini lah yang jadi inti dari command ini, jadi method handle ini bakalan selalu dieksekusi ketika commandnya dipanggil. So didalam handle ini kita bisa naro macem2 kyk ngirim email, cek status, cek database, dsb... di postingan ini kita bikin yang sederhana ajjah dulu, yaitu ngebuat log file... :D
Simple kaaan.... :D... Silahkan tambahkan kode berikut didalam handle method hisokaLog :

Naaah... terus kita eksekusi commandnya "php artisan hisoka:log"
Dan hasilnya bisa kita lihat difile log laravel di "storage-logs-laravel.log" :
Kereun kaaaah... wkwkkw... :D *ngasal... :D

Okiee... berikutnya adalah ngedaftarin commandnya ke task-scheduling... Jadi task scheduling dilaravel itu kyk loop yang selalu dieksekusi setiap periode waktu tertentu sesuai yang kita tentukan. So kembali ke file kernel sebelumnya dimana kita daftarin hisoka:log-nya, terus dibagian scheduling kita tambain kode ini :

Selese daaaah... :D... btw diatas kita pake schedulingnya everyMinute(), jadi setiap menit hisoka:command itu akan dipanggil/diexecute. Cumaaaaaan... itu klu udah diserver jadi tar dipanggil tiap menit, tapi karena kita dilokal environment, jadi execute schedulernya pake perintah "php artisan schedule:run".
 Jadi setelah beberapa kali jalanin schedule:run, laravel.log-nya jadi seperti ini :
Teruuusss...Untuk list lengkap scheduling method yg lain bisa dilihat dari dokumentasi laravel resminya kyk gini :

Sip sip... seperti ini ajjah contoh sederhana make Task Scheduling di laravel.... :)
Semoga bermanfaat... :)

1 comment:

  1. Min, kalo ingin penjadwalan datanya dari database gimana ya? Misal saya kan punya apk prakerin nah disana ada tbl jadwal prakerin yang fieldnya ada periode akhir prakerin, misal akhir prakerinnya tgl 20 agustus 2019 nah pas lewat batas akhir periode prakerin itu datanya kehapus otomatis cara ngaturnya gimana ya?

    ReplyDelete