crondとかでやっても良いのでしょうが、SQL仕事はMySQLに任せるほうが役割分担としてスッキリすると思います。
まずは、イベントスケジューラの機能をONにします。
# mysql -u root -pyourpassword
mysql> SET GLOBAL event_scheduler=ON;
で、イベントを追加。10分ごとにBEGIN 以下のSQL文を実行するようになります。ちなみに、このSQL文は現在時間よりmodifiedの時間が20分より過去である場合、そのレコードをdeleteします。
mysql> DELIMITER $$
mysql>CREATE EVENT IF NOT EXISTS `sweeper_event` ON SCHEDULE EVERY 10 MINUTE STARTS '2012-02-15 15:31:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN DELETE FROM target_tbl WHERE modified < (now() - INTERVAL 20 MINUTE); END$$
mysql>DELIMITER ;
START '時間' の部分をとっぱらうと、作成時間がSTART時間になるようです。
0 件のコメント:
コメントを投稿