最近做項目的時候設計每天定點執行的腳本,所以在這 馬克一下,方便查找 set time_zone = '+8:00'; set GLOBAL event_scheduler = 1; -- 設置該事件使用或所屬的資料庫base資料庫 use nitrogenates; # 如果原來存在該名字的任務計 ...
最近做項目的時候設計每天定點執行的腳本,所以在這 馬克一下,方便查找
set time_zone = '+8:00';
set GLOBAL event_scheduler = 1;
-- 設置該事件使用或所屬的資料庫base資料庫
use nitrogenates;
# 如果原來存在該名字的任務計劃則先刪除
drop event if exists upload_to_sdmp;
# 設置分隔符為 '$$' ,mysql預設的語句分隔符為 ';' ,這樣在後續的 create 到 end 這段代碼都會看成是一條語句來執行
DELIMITER $$
# 創建計劃任務,設置第一次執行時間為'2014-07-30 10:00:00',並且每天執行一次
create event upload_to_sdmp
on schedule every 1 day starts timestamp '2017-01-17 07:16:00'
#on schedule every 1 SECOND
do
# 開始該計劃任務要做的事
begin
-- do something 編寫你的計劃任務要做的事
# INSERT test_group(name,project_id) VALUES ("haha",1);
# 獲取最後一次執行的 Case_ALL,並複製到新ID中
#更改時間為當前時間
#將最後一次執行的 Case對應的 ID 變成新ID。
Insert into execution(name,project_id,test_suite_id) select name,project_id,test_suite_id from execution WHERE test_suite_id=3 ORDER BY created_time DESC LIMIT 1;
UPDATE execution SET created_time=(select CURRENT_TIMESTAMP) WHERE created_time="0000-00-00 00:00:00";
#UPDATE queue_entry SET execution_id=(SELECT id FROM execution ORDER BY id DESC LIMIT 1) WHERE execution_id=(select id from execution WHERE test_suite_id=3 ORDER BY created_time DESC LIMIT 1,1);
Insert into queue_entry(test_case_id,project_id) select test_case_id,project_id from queue_entry WHERE execution_id=(select id from execution WHERE test_suite_id=3 ORDER BY created_time DESC LIMIT 1,1);
UPDATE queue_entry SET execution_id=(SELECT id FROM execution ORDER BY id DESC LIMIT 1) WHERE execution_id=0;
#獲取倒數第二條
#select id from execution WHERE test_suite_id=3 ORDER BY created_time DESC LIMIT 1,1;
#最新的 ID
#SELECT id FROM execution ORDER BY id DESC LIMIT 1;
-- 結束計劃任務
end $$
# 將語句分割符設置回 ';'
DELIMITER ;