Code cảnh báo thì có 2 kiểu:
Chèn cảnh báo vào đoạn code khi event X xảy ra. Yêu cầu là phải can thiệp vào code, đưa code lên server chính
Viết code ở local, định kỳ 5-10 phút lại kiểm tra sự kiện X xem đã xảy ra chưa (file log, DB hay cách nào đó). Nếu thấy thì cảnh báo.
Hôm nọ trường hợp gấp không thêm được code (!!!) nên viết ở local dạng như sau:
while (true) {
if (file_exists('stop')) return;
$haveX = queryLog();
if (!$haveX) {
alertDev(); // send SMS/email
} else {
// do nothing
}
sleep(300);// 5 minutes
}
Sau đó hết giờ đi làm nên bỏ về để script chạy tiếp. Về một lúc thì $haveX xảy ra và có SMS cảnh báo. Ngon. Nhưng 1 lúc sau lại nhận cảnh báo. Oh shit, chết rồi $haveX từ sau khi xảy ra lúc nào cũng bị hiểu là vẫn đang xảy ra => lỗi gửi cảnh báo lặp
Rút kinh nghiệm lần sau phải code làm sao để $haveX sau khi xảy ra thì cảnh báo và dừng lại luôn. Trường hợp cần cảnh báo tiếp thì phải kiểm tra $haveX theo thời gian, đánh dấu trạng thái cảnh báo gần nhất để ko cảnh báo lặp nữa
Title:
Code cảnh báo và lỗi cảnh báo lặp
Description:
Có 1 event nếu xảy thì phải cảnh báo để xử lý. Code ko cẩn thận là lúc event xảy ra nó cứ báo suốt đấy nhé
...
Rating:
4