Selamat datang di latcoding.com 🙂
Kali ini saya mau share tutorial bagaimana cara menggunakan cronjob pada controller yii2. Buat yang belum tau apa itu cronjob, berikut definisinya :
Cronjob : sebuah aplikasi yang berfungsi untuk menjalankan suatu script (bisa PHP, Phyton, Shell, Java, dll) secara otomatis berdasarkan waktu tertentu
Gambar cronjob (via terminal) :
Oke lanjut, dtutorial ini akan dijelaskan cara menggunakan cronjob untuk menjalankan sebuah controller yii2 secara otomatis setiap satu menit. Di controller tersebut nanti akan ada script untuk membuat file berektensi .txt. Jadi, setiap satu menit akan terbuat file-file .txt dengan nama yang berbeda.
So, bagaimana cara membuatnya? ikuti tutorial dibawah ini :
MENGGUNAKAN CRONJOB DI YII 2
1) Buat sebuah file MakefileController.php di folder console/controllers, lalu isikan dengan script berikut :
<?php namespace console\controllers; use yii\console\Controller; Class MakefileController extends Controller { public function actionMake(){ // root of directory yii2 // /var/www/html/<yii2> $rootyii = realpath(dirname(__FILE__).'/../../'); // create file <jam:menit:detik>.txt $filename = date('H:i:s') . '.txt'; $folder = $rootyii.'/cronjob/'.$filename; $f = fopen($folder, 'w'); $fw = fwrite($f, 'now : ' . $filename); fclose($f); } }
Pada script diatas, kita akan membuat sebuah file dengan nama <jam:menit:detik>.txt
dan akan disimpan di folder cronjob. Maka dari itu step selanjutnya kita akan membuat folder cronjob.
2) Buat folder cronjob di dalam folder yii2.
3) Sekarang testing untuk menjalankan MakefileController.php melalui console (terminal).
ketikkan di terminal :
php yii makefile/make
4) cek folder cronjob, maka akan ada sebuah file baru :
Oke sip, file MakefileController.php sudah bisa dijalankan lewat console. Tahap selanjutnya adalah memasang script cronjob untuk menjalankan file MakefileController.php setiap satu menit.
5) Buka program cronjob dengan mengetikkan script berikut ke terminal :
crontab -e
*Jika muncul seperti dibawah pilih nomor [2], jika tidak abaikan saja, kamu akan langsung ke dibawa ke tampilan program cronjob.
6) Scroll ke paling bawah, lalu copykan script cronjob berikut :
* * * * * php /var/www/html/yii1/protected/yii makefile/make
lalu tekan ctrl + x
lalu ketik y
dan enter untuk mengesave cronjob. Setelah itu kamu akan dibawa ke tampilan terminal sebelumnya.
7) Oke, script cronjob sudah terbuat. Sekarang kamu tinggal lihat isi folder cronjob setiap satu menit. Maka akan ada file-file baru seperti ini :
VIDEO
SEMOGA BERMANFAAT!