週期任務mysql
查看命令sql
`show variables like '%event_sche%';`
`set global event_scheduler=1;`
`[mysqld]event_scheduler=ON //這一行加入mysqld標籤下`
use test; delimiter // create procedure down_goods() begin UPDATE df_goods_sku set `status` = 0 where `status`=1 and down_time < now(); end// delimiter ;
drop procedure dewn_goods;數據庫
create procedure down_goods() begin UPDATE df_goods_sku set `status` = 0 where `status`=1 and down_time < now(); end//
create event down_good on schedule every 10 second on completion preserve disable do call down_goods();
drop event up_good;code
代碼說明:orm
`SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;`
alter event down_good on completion preserve enable; //開啓定時任務 alter event down_good on completion preserve disable;//關閉定時任務
週期執行–關鍵字 EVERY事件
單位有:second,minute,hour,day,week(周),quarter(季度),month,yearit
如:io
on schedule every 1 second //每秒執行1次 on schedule every 2 minute //每兩分鐘執行1次 on schedule every 3 day //每3天執行1次
在具體某個時間執行–關鍵字 ATevent
如:form
on schedule at current_timestamp()+interval 5 day //5天后執行 on schedule at current_timestamp()+interval 10 minute //10分鐘後執行 on schedule at '2016-10-01 21:50:00' //在2016年10月1日,晚上9點50執行
在某個時間段執行–關鍵字STARTS ENDS
如:
on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //5天后開始天天都執行執行到下個月底 on schedule every 1 day ends current_timestamp()+interval 5 day //從如今起天天執行,執行5天