Hãy xem xét những điều sau đây.
Phát hành một select CURRENT_TIMESTAMP;
hoặc
select count(*) as theCount
from customer_group
where is_status=1 and CURRENT_TIMESTAMP >= end_date;
Nói cách khác, thực hiện một số điều tra lại. Sự kiện âm thầm thành công hoặc thất bại vì chúng không có giao diện người dùng.
Chạy một số lệnh như:
show variables where variable_name='event_scheduler';
- hiện đang TẮT (hoặc có thể BẬT)
Chỉ định thời gian bắt đầu cho sự kiện của bạn trong quá trình tạo và chỉ định ON COMPLETION PRESERVE
chẳng hạn như
drop event if exists `Every_5_Minutes_QuestionUpdateImport`;
DELIMITER $$
CREATE EVENT `Every_5_Minutes_QuestionUpdateImport`
ON SCHEDULE EVERY 5 MINUTE STARTS '2015-09-01 00:00:00'
ON COMPLETION PRESERVE
DO BEGIN
--
-- all your statements go here
--
END$$
DELIMITER ;
Bật trình xử lý sự kiện:
SET GLOBAL event_scheduler = ON; -- turn her on and confirm below
Xác nhận nó:
show variables where variable_name='event_scheduler';
Kiểm tra trạng thái của tất cả các sự kiện trong một cơ sở dữ liệu cụ thể theo tên cơ sở dữ liệu:
show events from stackoverflow; -- note stackoverflow is my database name
Tắt hoặc bật một sự kiện nhất định theo tên trong db đã chọn hiện tại:
ALTER EVENT Every_2_Minutes_QuestionUpdateImport disable;
ALTER EVENT Every_2_Minutes_QuestionUpdateImport enable;
Và cuối cùng nhưng không kém phần quan trọng, khi tôi viết Sự kiện mới, tôi luôn thêm ban đầu trong các câu lệnh sự kiện để ghi vào bảng nhật ký (với câu lệnh chèn và ngày giờ là now()
). Bằng cách đó, tôi biết nó đã được kích hoạt và dữ liệu trong mệnh đề where như mệnh đề của bạn có lẽ không khiến tôi đọc nhầm về toàn bộ vấn đề.
Và tôi có nghĩa là tôi phát điên khắp nơi. Ban đầu, sau đó tôi sửa lại sau:
set filename:=concat('c:\\datavault\\stackoverflow\\app01\\batches\\processMe_',LPAD(@idToPerform, 8, '0'),'.txt');
set logMsg:=concat("It would appear I am to process this thing: ",filename);
insert EvtsLog(incarnationId,evtName,step,debugMsg,dtWhenLogged)
select incarnationId,evtAlias,10,logMsg,now(); -- 10: some step somewhere in the middle
Hãy nhớ cho tất cả các mục đích thực tế (ngoại trừ có thể bảng của bạn mà bạn thực sự quan tâm từ câu hỏi của bạn) ... rằng EvtsLog
của tôi là giao diện người dùng duy nhất của bạn với tư cách là người lập trình Sự kiện và là người bạn tốt nhất của bạn.
Xem trang hướng dẫn để biết điều gì VỀ BẢO QUẢN HOÀN THÀNH cũng như những thứ khác.