zoukankan      html  css  js  c++  java
  • 固定时间刷新某个固定值 java

    g刚开始想到的是用schedule去处理,写个表达式,然后加上@Schedule(cron="")去写,但是后来想想这样还是比较麻烦,然后就尝试了存储过程去写,

    结果验证了我的想法,存储过程真的比写schedule简单

    如下

    1、要想保证能够执行event事件,就必须保证定时器是开启状态,默认为关闭状态

    set GLOBAL event_scheduler = ON; 

    2、要查看当前是否已开启事件调度器,可执行如下SQL:

    SHOW VARIABLES LIKE 'event_scheduler

    3、如果原来存在该名字的任务计划则先删除  

    drop event if exist upload_to_sdmp;

    4、工具中执行以下   ===========

    # set time_zone = '+8:00'; 这行 为改变时间的sql,为了方便测试
    set GLOBAL event_scheduler = 1;

    -- 设置该事件使用或所属的数据库base数据库
    use useCount;

    # 如果原来存在该名字的任务计划则先删除
    drop event if exists upload_user_count;

    # 设置分隔符为 '$$' ,mysql默认的语句分隔符为 ';' ,这样在后续的 create 到 end 这段代码都会看成是一条语句来执行
    DELIMITER $$
    # 创建计划任务,设置第一次执行时间为'2014-07-30 10:00:00',并且每天执行一次
    create event upload_to_sdmp
    on schedule every 1 day starts timestamp '2018-11-20 17:30:00'
    #on schedule every 1 SECOND
    do

    # 开始该计划任务要做的事
    begin


    -- do something 编写你的计划任务要做的事
    update userCount set count =count +1 ;

    -- 结束计划任务
    end $$

    # 将语句分割符设置回 ';'
    DELIMITER ;

    5、事件存在后,需要开启事件,才能使事件(以上代码)生效

      1. ALTER EVENT upload_user_count ENABLE;  

    6、测试完成后,关闭测试事件

      1. ALTER EVENT upload_user_count DISABLE;
         
         
         
         
    7、附上事件状态检查sql
    select * from mysql.event;
    如有错误,请邮件zs253499660@sina.com,如有更好的方法,可以推荐
  • 相关阅读:
    字符串加密
    接口实例
    RecyclerView添加Hearder
    基于Vue实现图片在指定区域内移动
    Tinymce 编辑器添加自定义图片管理插件
    LocalStorage和sessionStorage之间的区别
    javascript之url转义escape()、encodeURI()和decodeURI(),ifram父子传参参数有中文时出现乱码
    Js实现简单的音频播放
    通用CSS命名规范
    Hbuilder常用功能汇总
  • 原文地址:https://www.cnblogs.com/senjiang/p/9990311.html
Copyright © 2011-2022 走看看