周期任务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天