mysql事件调度怎么实现每天一段时间内的调度?

mysql事件调度怎么实现每天一段时间内的调度?,第1张

事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用 *** 作系统任务调度器才能完成的定时功>能。例如,Linux 中的 crontabe 只能精确到每分钟执行一次,而 MySQL 的事件调度器则可以实现每秒钟执行一个任务,这在一些对实时性要>求较高的环境下就非常实用了。

mysql定时任务

自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由 *** 作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而 *** 作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。

如:每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去.

CREATE PROCEDURE test ()

BEGIN

update examinfo SET endtime = now() WHERE id = 14

END

create event if not exists e_test

on schedule every 30 second

on completion preserve

do call test()

2. windows、linux 的定时任务 这个就不举例了,通过脚本定时去调用mysql执行

最常用的做法是使用UNIX的cron直接执行Java程序

并不需要在Java做的那么复杂。

Windows服务器也有类似于cron的任务管理功能,同理

--------------------------->

Tomcat不是用来管理定时任务的,如果没有HTTP请求,Servlet是不会被执行的。

建议lz把定期执行的处理做成一个独立的Java程序,用cron执行。

如果不想写独立的Java程序,也可以用cron定期向Tomcat发送Http请求,但是,这样做的话注意程序处理时间不能太长,因为HTTP通信有timeout的制约。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7188158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存