Sessions (Phiên làm việc)
Để hiểu rõ tại sao Python lại báo "Đã dọn 21 sessions hết hạn", chúng ta sẽ đi qua hai khái niệm: Session là gì và Tại sao lại có hành động "dọn dẹp" này trong mã nguồn web (Flask) của bạn.
1. Sessions (Phiên làm việc) là gì?
Trong lập trình web (như ứng dụng Flask bạn đang chạy), Session (Phiên làm việc) là một cách để server ghi nhớ thông tin của từng người dùng cụ thể khi họ duyệt qua các trang khác nhau.
Bản chất: Giao thức mạng (HTTP) có tính chất "nhanh quên" (Stateless). Khi bạn bấm từ trang này sang trang khác, server mặc định không biết bạn là ai.
Cách giải quyết: Server sẽ cấp cho trình duyệt của bạn một "thẻ bài" (thường gọi là Session ID lưu trong Cookie). Mỗi khi bạn gửi yêu cầu, server nhìn vào thẻ bài này để nhận diện: "À, đây là anh Nguyễn Văn A, anh ấy đã đăng nhập rồi và anh ấy đang làm bài thi An toàn điện".
Session lưu gì? Trong dự án của bạn (file
z52-main.py), session đang được dùng để lưu:Trạng thái đăng nhập của thí sinh (
sbd,fullname).Danh sách câu hỏi của đề thi mà thí sinh đó vừa bốc thăm (
exam_mix2_questions).Thời gian bắt đầu làm bài, thời gian còn lại...
2. Tại sao Python báo "Đã dọn 21 sessions hết hạn"?
Thông báo này xuất hiện từ hệ thống tự động bảo trì dữ liệu (Garbage Collection) của thư viện quản lý Session (ví dụ như Flask-Session kết hợp với database hoặc file lưu trữ).
Khi bạn thấy dòng chữ này, hệ thống đang thông báo rằng nó vừa quét qua bộ nhớ và xóa đi 21 phiên làm việc đã quá thời gian chờ (Expired). Điều này hoàn toàn bình thường và rất tốt cho hệ thống vì những lý do sau:
Người dùng đã tắt trình duyệt hoặc bỏ đi: Khi thí sinh nộp bài xong, hoặc họ tắt tab trình duyệt mà không bấm "Đăng xuất", phiên làm việc của họ vẫn nằm lại trên server. Sau một khoảng thời gian thiết lập (ví dụ: 1 tiếng hoặc 1 ngày), session này sẽ bị coi là "hết hạn".
Giải phóng bộ nhớ: Nếu không dọn dẹp, hàng nghìn session cũ của các ngày hôm trước sẽ tích tụ lại, làm tràn bộ nhớ (RAM) hoặc làm nặng cơ sở dữ liệu, dẫn đến server chạy càng ngày càng chậm.
An toàn bảo mật: Xóa các session cũ giúp ngăn chặn nguy cơ hacker đánh cắp các "thẻ bài" cũ đó để giả mạo thí sinh truy cập vào hệ thống quản trị (
/admin).
🛠️ Bạn có cần sửa gì không?
KHÔNG cần sửa gì cả. Đây là một thông báo log hệ thống mang tính chất khẳng định ứng dụng của bạn đang hoạt động rất tốt, tự động quản lý tài nguyên thông minh và dọn rác định kỳ thành công để giữ cho server luôn nhẹ và mượt mà.

