proses terjadwal pada mySQL

ada proses data tertentu yang berjalan secara rutin terjadwal.
memanfaatkan timer pada sisi aplikasi, hal ini bisa diselesaikan. database server juga menyediakan event (timer) untuk keperluan ini.

pada mysql, yang harus dipastikan terlebih dahulu adalah pengaturan event_scheduler aktif. perintah :
[sourcecode]event_scheduler=ON[/sourcecode]
dituliskan pada file :
[sourcecode]my.ini[/sourcecode]
server mysql perlu dijalankan ulang agar pengaturan ini digunakan. lalu untuk memastikannya, bisa digunakan query :

show processlist

jika hasil query memberikan minimal 2 data dan terdapat user : event_scheduler maka proses pengaturan sudah berhasil.

Id;User;Host;db;Command;Time;State;Info
1;event_scheduler;localhost; ;Daemon;8;Waiting on empty queue;
2;root;localhost:49541;******;Query;0; ;show processlist

langkah berikutnya adalah menuliskan perintah yang akan dieksekusi. contoh, untuk proses yang dijalankan 1 hari sekali, setiap jam 11.59. proses yang dikerjakan adalah mengambil waktu server dan disimpan pada tabel debug (yg sudah ada).
cara lebih mudah membuat event, memanfaatkan tool yang tersedia (gratis).

CREATE EVENT `namaEvent` ON SCHEDULE
EVERY 1 DAY STARTS '2014-03-04 11:59:00'
ON COMPLETION NOT PRESERVE
ENABLE
COMMENT ''
DO BEGIN
declare waktu time;
set waktu = time(now());
insert into debug(name,value) values('time',waktu);
END

tulisan ini dibuat, supaya kalau butuh lagi, tidak perlu cari2 lagi, dan semoga bermanfaat bagi orang lain juga.

salam

gambar : http://4.bp.blogspot.com/_gVfZHGgf5LA/ScgYWxjupGI/AAAAAAAAAe4/8fg7FjrkDd0/s400/mysql_ying_yang_time.png

Leave a Reply

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