Lần kiểm tra hằng ngày không còn ai phải làm
Mỗi sáng mở sổ đăng ký phá sản rồi đối chiếu với danh sách khách hàng. Giờ một dịch vụ làm việc đó, và chỉ lên tiếng khi thật sự có tên xuất hiện.
0
lần kiểm tra thủ công mỗi ngày
trước đây: mỗi sáng trong sổ đăng ký
Trước
mỗi sáng, thủ công
Sau
hằng ngày, tự động
Vấn đề
Mỗi sáng phải có người mở sổ đăng ký phá sản của Đức và rà một danh sách khách hàng. Bỏ sót một dòng là công ty giao hàng cho khách không còn khả năng thanh toán. Việc này không khó, nhưng không được phép bỏ ngày nào.
Tôi đã xây gì
Một dịch vụ truy vấn sổ đăng ký chính thức hằng ngày rồi đối chiếu với danh sách theo dõi. Sổ đăng ký này chống truy cập tự động: mỗi yêu cầu cần một mã phiên mới, và bảng kết quả chỉ đọc được theo vị trí cột chứ không theo tên cột.
Cách hoạt động chi tiết
Phần truy vấn tải trang trước, đọc mã phiên, rồi mới gửi truy vấn thật. Không có bước đó, sổ đăng ký trả về một lỗi trông giống hệt kết quả rỗng. Khác biệt này rất quan trọng: kết quả rỗng và truy vấn thất bại không bao giờ được xử lý giống nhau, nếu không hệ thống sẽ báo yên ổn suốt nhiều năm trong khi thực tế nó đã không còn thấy gì.
Bảng kết quả không có tên cột đáng tin, nên nó được đọc theo vị trí cột cố định. Nếu bố cục đổi, phần truy vấn báo lỗi rõ ràng thay vì im lặng trả dữ liệu sai.
Máy chủ đích không có môi trường Python, nên mọi thứ chạy trong một container với lịch riêng.
Kết quả
Không ai còn mở website đó nữa. Đội chỉ nghe tin từ hệ thống khi một cái tên trong danh sách thật sự xuất hiện.
Điều tôi rút ra
Với việc theo dõi, câu hỏi khó không phải là đọc dữ liệu thế nào, mà là làm sao biết mình đã ngừng nhận được dữ liệu. Một hệ thống canh báo âm thầm mù còn tệ hơn không có gì.
Công nghệ
- Python
- Docker
- Truy vấn theo lịch
- Thông báo qua email