Salah satu fungsi penting sebuah cronjob adalah untuk menjadwalkan produk promo buka/tutup sehingga kita tidak perlu lagi mengaturnya secara manual.
Kolom-kolom pada tabel voucher
vo_id = ID voucher, memiliki nilai tetap (tidak bisa diubah-ubah) berupa angka
sv_id = ID server, memiliki nilai tetap (tidak bisa diubah-ubah) berupa angka
vo_nominal = Nominal produk, bisa berisi huruf dan angka
vo_harga = Harga umum produk, berisi angka
vo_harga_reseller = Harga reseller produk, berisi angka
vo_kode = Kode produk, berisi huruf dan angka
vo_status = Status produk (tersedia/tidak tersedia), berisi angka 1 (tersedia) atau 0 (tidak tersedia)
Mendapatkan vo_id (ID voucher)
vo_id setiap web pulsa sangat dimungkinkan berbeda satu sama lain, berikut adalah cara mendapatkan vo_id melalui admin panel.
Klik menu Produk di admin panel
Klik nama produk
Klik nama provider
Arahkan kursor mouse pada nama produk (tidak perlu diklik)
Akan didapatkan sebuah url pada pojok kiri bawah browser, contoh url: https://konterpulsa.net/produk/pulsa/axis-1/axis-5000-2297
Angka paling belakang (warna merah) merupakan vo_id (ID voucher).
Dengan cara yang sama, maka dapat diketahui sv_id (ID server) silahkan ke menu Pengaturan > Server Pulsa, arahkan kursor pada nama server, maka akan didapatkan url, contoh: https://konterpulsa.net/admin/pengaturan/server/edit/16
Angka paling belakang (warna merah) merupakan sv_id (ID server).
Memulai merancang script controller
-Buat file baru diawali huruf besar dengan ekstensi *.php di dalam folder public_html/application/controllers/ contoh: Ratu_open.php
-Edit file tersebut, lalu masukkan kode script berikut.
<?php
defined(‘BASEPATH’) or exit(‘No direct script access allowed’);
class Nama_file extends CI_Controller
{
public function index()
{
$this->db->query(“update voucher set
PERINTAH DISINI
}
}
?>
Catatan penting:
-class Nama_file extends CI_Controller silahkan disesuaikan dengan nama file yang telah dibuat, contoh jika file yang dibuat adalah Ratu_open.php maka akan menjadi class Ratu_open extends CI_Controller
–Jangan beritahukan nama file yang telah dibuat ke orang lain, karena script berisi perintah untuk mengubah database (buka-tutup produk atau lainnya), jika seseorang mengakses url https://domain/nama-file maka eksekusi akan berjalan. Misalnya, seharusnya perintah program ratu Indosat dieksekusi pada pukul 07.00, karena ada seseorang (iseng) mengakses file Anda https://domain/nama-file pada pukul 06.00, maka di jam tersebut pula program ratu sudah open.
Kode script PERINTAH DISINI
PERINTAH DISINI disesuaikan dengan kebutuhan
*Mengganti server, misalkan server A mempunyai harga lebih murah dibanding dengan server B, scriptnya:
sv_id = CASE vo_id
WHEN ‘IDPRODUK1‘ THEN ‘IDSERVER1‘
WHEN ‘IDPRODUK2‘ THEN ‘IDSERVER2‘
WHEN ‘IDPRODUK3‘ THEN ‘IDSERVER3‘
ELSE sv_id
END,
Sesuaikan IDPRODUK dan IDSERVER.
Sehingga script lengkap menjadi seperti ini:
<?php
defined(‘BASEPATH’) or exit(‘No direct script access allowed’);
class Nama_file extends CI_Controller
{
public function index()
{
$this->db->query(“update voucher set
sv_id = CASE vo_id
WHEN ‘IDPRODUK1’ THEN ‘IDSERVER1’
WHEN ‘IDPRODUK2’ THEN ‘IDSERVER2’
WHEN ‘IDPRODUK3’ THEN ‘IDSERVER3’
ELSE sv_id
END,
}
}
?>
Dengan cara yang sama, bisa juga untuk mengubah lebih dari 1 variabel (mengganti nama produk, mengganti harga umum dan harga reseller, atau mengganti status produk menjadi tersedia/tidak tersedia). Template kode script lengkap bisa didownload di sini.
Mengatur Cronjob
Setelah membuat script di application/controllers/ maka langkah selanjutnya adalah mengatur cronjob.
Menggunakan cronjob gratis
*Login ke akun cron-job.org
*Pilih menu Cronjobs >> Create cronjob
*Title: sesuaikan, contoh: Cronjob Ratu open
*http:// isi url sesuai dengan nama file yang telah dibuat, contoh: https://konterpulsa.net/ratu-open (http:// atau https:// sesuaikan dengan web pulsa masing-masing). INGAT: jangan beritahukan nama file ke orang lain
*Schedule: Pilih every day at: tentukan jam/waktu kapan eksekusi dilakukan, contoh 07:00 untuk buka produk ratu Indosat, artinya file script akan dieksekusi setiap hari pada pukul 07:00.
Centang semua lalu pilih Create cronjob.
Catatan:
*Jika difungsikan untuk program ratu, maka buat 2 file misalnya: Ratu_open.php dan Ratu_close.php (ingat ya jangan beritahukan nama file ke orang lain). PERINTAH DISINI untuk Ratu_close.php adalah kebalikan dari perintah Ratu_open.php dan juga ada 4 cronjob ya karna program ratu dieksekusi 4 kali dalam sehari, yaitu pukul 07:00 (open), 17:50 (close), 21:00 (open), dan 23:50 (close). Pastikan pengaturan timezone di akun cron-job.org menggunakan timezone: Asia/Jakarta
Ringkasan:
- Buat file di application/controllers/
- Setting cronjob
Semoga berhasil!
Terima kasih kak
Maaf OOT Gan,
Saya bikin cron job di VPS ubuntu,
Perintah cronnya saya tulis di crontab -e
Running lancar, tapi
Bebarapa hari kemudian, perintah tsb selalu hilang, saya tulis lagi, kemudian hari hilang lagi.
Biar gak hilang taro dimana mas yach ..
Makasih
mungkin cronjob nya terlalu memberatkan pengguna vps yg lain, jadi dihapus sama provider vps nya, coba tanyakan ke provider vps kenapa itu bisa hilang cronjobnya
Wah bener ini mas, kemungkinan dihapus sama provider VPS karena memberatkan sistem,
Setelah di pindah ke cron-job.org lancar jaya
Thanks mas bro ..
Kode untuk menonaktikan voucher kan ‘0/1’ utk mengaktifkannya kembali gimana ya mas kodenya
isi ‘0’ untuk status produk menjadi tidak tersedia, ‘1’ untuk produk menjadi tersedia