mysql简单的定时任务

2018-12-28  本文已影响0人  天草二十六_简村人

一、创建函数/存储过程:
CREATE DEFINER=admin@172.16.%.% PROCEDURE pro_statis_wcoin_income()
BEGIN
-- 统计前,先删除
DELETE FROM user_wcoin_income_statis WHERE business_day = FROM_UNIXTIME(UNIX_TIMESTAMP(date_add(CURDATE(), interval -1 day)), '%Y-%m-%d');

-- 开始统计
INSERT INTO user_wcoin_income_statis (
uid,
business_day,
sum_wcoin,
ctime,
utime
) SELECT
a.uid,
FROM_UNIXTIME(a.ctime / 1000, '%Y-%m-%d') business_day,
sum(a.amount),
UNIX_TIMESTAMP() * 1000,
UNIX_TIMESTAMP() * 1000
FROM
user_wcoin_record a
WHERE
a.flow_type = 1
AND a.ctime >= UNIX_TIMESTAMP(date_add(CURDATE(), interval -1 day)) * 1000
AND a.ctime < UNIX_TIMESTAMP(CURDATE()) * 1000
GROUP BY
a.uid,
FROM_UNIXTIME(a.ctime / 1000, '%Y-%m-%d');

COMMIT;

END

二、创建事件:
CREATE DEFINER=admin@172.16.%.% EVENT Event_statis_wcoin_income ON SCHEDULE EVERY 1 DAY STARTS '2018-12-28 02:00:00' ON COMPLETION PRESERVE ENABLE COMMENT '定时每天统计用户的wcoin' DO call pro_statis_wcoin_income()

总结: 每天凌晨2点跑一次存储过程。

上一篇 下一篇

猜你喜欢

热点阅读