最常用的做法是使用UNIX的cron直接執(zhí)行Java程序。
成都創(chuàng)新互聯(lián)是專業(yè)的項城網站建設公司,項城接單;提供成都網站設計、網站制作,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行項城網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!
并不需要在Java做的那么復雜。
Windows服務器也有類似于cron的任務管理功能,同理
---------------------------
Tomcat不是用來管理定時任務的,如果沒有HTTP請求,Servlet是不會被執(zhí)行的。
建議lz把定期執(zhí)行的處理做成一個獨立的Java程序,用cron執(zhí)行。
如果不想寫獨立的Java程序,也可以用cron定期向Tomcat發(fā)送Http請求,但是,這樣做的話注意程序處理時間不能太長,因為HTTP通信有timeout的制約。
mysql如何查看定時器有沒有執(zhí)行
1.查看是否開啟evevt與開啟evevt。
1.1、MySQL evevt功能默認是關閉的,可以使用下面的語句來看evevt的狀態(tài),如果是OFF或者0,表示是關閉的。
show VARIABLES LIKE '%sche%';
1.2、開啟evevt功能
SET GLOBAL event_scheduler = 1;
2.創(chuàng)建定時器的過程
2.1、創(chuàng)建測試表test
drop table if exists test;
create table test
(
id int(11) not null auto_increment primary key,
time datetime not null
) engine=innodb default charset=utf8;
2.2、創(chuàng)建evevt要調用的存儲過程test_proce
delimiter //
drop procedure if exists test_proce//
create procedure test_proce()
begin
insert into test(time) values(now());
end//
delimiter ;
2.3、開啟evevt(要使定時起作用,MySQL的常量GLOBAL event_scheduler必須為on或者是1)
執(zhí)行show variables like 'event_scheduler';查看evevt是否開啟;
若沒開啟執(zhí)行set global event_scheduler='on';
2.4、創(chuàng)建事件test_event(其作用:每隔一秒自動調用test_proce()存儲過程)
drop event if exists test_event;
create event test_event
on schedule every 1 second
on completion preserve disable
do call test_proce();
2.5、開啟事件test_event
mysql實現(xiàn)定時任務是有一個時間調度器,所以首先要查看這個時間調度器是否開啟。
查看的命令:
show variables like 'event_scheduler'
如果沒有打開,則設置打開。設置的命令是:
set global event_scheduler = ON; 或set global event_scheduler = 1;
確定打開事件調度器后,我們可以創(chuàng)建一個定時任務。
創(chuàng)建定時任務的語法為:
create event 定時任務名稱
ON schedule 定時時間
do
定時任務所要執(zhí)行的sql;
example:每隔一分鐘往表tt里插入一條數(shù)據
create event insert_tt
ON schedule every 1 MINUTE
do
insert into tt values(1);
如果要執(zhí)行多條sql則可用多個do
create event insert_tt
ON schedule every 1 MINUTE
do
insert into tt values(1);
do
.......
使用命令查看所有的定時任務及其狀態(tài):
show processlist
如果要停掉某個定時任務可以使用:
alter event 定時任務名 ON
COMPLETION PRESERVE DISABLE;
example:
alter event insert_tt ON
COMPLETION PRESERVE DISABLE;
開啟某個定時任務:
alter event 定時任務名稱 ON
COMPLETION PRESERVE ENABLE;
網站名稱:mysql定時器怎么做 mysql創(chuàng)建定時器
網站URL:http://www.rwnh.cn/article12/doohsgc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、品牌網站設計、用戶體驗、網頁設計公司、網站設計、電子商務
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)