0

Menggunakan cronjob di yii2

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) :
cronjob di yii2
 

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.
folder cronjob di yii 2

3) Sekarang testing untuk menjalankan MakefileController.php melalui console (terminal).
ketikkan di terminal :

php yii makefile/make

run controller yii 2 from console

4) cek folder cronjob, maka akan ada sebuah file baru :
make file in yii 2

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.
membuka cronjob di linux ubuntu

6) Scroll ke paling bawah, lalu copykan script cronjob berikut :

* * * * * php /var/www/html/yii1/protected/yii makefile/make

script cronjob untuk menjalankan controller yii 2 secara otomatis
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 :
run cronjob everny minutes

VIDEO

 

SEMOGA BERMANFAAT!

Ambar Hasbiyatmoko

Hello, I'm web developer. Passionate about programming, web server, and networking.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.