1. Cố định tình trạng trước khi bấm chạy lại
Hãy ngừng thêm công việc và kiểm tra xem không còn phiên chạy nào của cùng loạt đang hoạt động. Mất kết nối không phải lúc nào cũng có nghĩa là phần mềm đã dừng. Hãy kiểm tra trạng thái của nó khi còn có thể: chạy thêm một bản sao có thể tạo ra các bản trùng lặp hoặc ghi vào cùng đích đến.
Hãy giữ lại nhật ký, danh sách các tệp đầu vào, cài đặt và thông báo lỗi. Sao chép bảng theo dõi trước khi sửa nó. Giữ các kết quả đáng ngờ ở một nơi riêng, không ghi đè lên bản gốc hay các kết quả đã được chấp nhận. Nếu nơi lưu đã đầy, hãy dọn chỗ hoặc chuẩn bị một nơi lưu khác sau khi đã xác định rõ những gì cần giữ lại.
2. Cho mỗi mục một danh tính ổn định
Mỗi dòng phải đại diện cho một tác vụ mong đợi, ví dụ IMG-017 gắn với catalogue/chaise-face.png. Chỉ riêng đường dẫn có thể trở nên mơ hồ sau khi di chuyển; một tên ngắn như photo.png có thể tồn tại trong nhiều thư mục. Hãy giữ một mã định danh duy nhất và sự tương ứng với đầu vào ban đầu.
Thêm mã cấu hình, đường dẫn đầu ra, trạng thái, số lần thử và một lý do ngắn. Nhật ký này có thể là một bảng thông thường hoặc một tệp CSV của dự án bạn. Nó không cần chứa hình ảnh, mật khẩu hay toàn bộ nhật ký kỹ thuật của máy. Một người phải có thể tìm đúng mục và giải thích vì sao nó nằm trong danh sách khôi phục.
Đừng sửa bản gốc đằng sau một mã định danh đã được chấp nhận. Một mục mới hoặc một phép biến đổi khác đòi hỏi một phiên bản mới được ghi chú rõ ràng. Nếu không, cùng một mã định danh sẽ dần dần chỉ hai công việc không tương thích và nhật ký sẽ không còn giúp quyết định được cái gì đã hoàn tất.
| ID | Cấu hình | Trạng thái | Kết quả hoặc lý do |
|---|---|---|---|
| IMG-017 | essai-02 | Đã chấp nhận | IMG-017.png đã mở và đã kiểm tra |
| IMG-018 | essai-02 | Cần kiểm tra | Tệp hiện diện, kiểm tra chưa xong |
| IMG-019 | essai-02 | Thất bại | Thiếu bộ nhớ trong khi xử lý |
| IMG-020 | essai-02 | Cần làm | Không tìm thấy kết quả nào mong đợi |
3. Đối chiếu nhật ký với các tệp thực tế
Với mỗi mã định danh đã dự kiến, hãy tìm kết quả mong đợi. Kiểm tra định dạng, kích thước hoặc nội dung cần thiết cho mục đích của bạn, rồi mở tệp bằng công cụ đích. Các kết quả đã được chấp nhận và vẫn còn đó thì nằm ngoài danh sách khôi phục. Nếu thiếu một kết quả trong khi nhật ký ghi « đã chấp nhận », hãy tìm một bản sao đã giữ lại trước khi quyết định tính lại.
Hãy xếp các mục « đang chạy » tại thời điểm dừng vào nhóm cần kiểm tra. Một số có thể đã hoàn tất, số khác chỉ mới một phần. Ngày tháng hoặc kích thước tệp chỉ là một gợi ý, không phải một sự xác nhận. Một tệp phát sinh thêm mà không có mã định danh nào đã biết thì vẫn để riêng cho đến khi bạn tìm ra nguồn gốc của nó.
Với hình ảnh, Pillow phân biệt việc nhận diện tệp, việc đọc các điểm ảnh và việc kiểm tra cấu trúc của nó. Vì vậy, một chương trình chỉ mở phần đầu tệp thì không kiểm tra được hết. Một kiểm tra tự động có thể phát hiện một số hỏng hóc; nó không đánh giá được chữ có đọc được hay màu sắc có khớp với sản phẩm bàn giao hay không.
4. Phân biệt một mục chưa hoàn tất với một kết quả bị từ chối
Một kết quả một phần phải được làm lại hoặc phục hồi từ một bản sao đầy đủ. Một kết quả đầy đủ nhưng không chấp nhận được thì trước tiên đòi hỏi phải hiểu rõ lỗi. Chạy lại với cùng tham số trên một đầu vào không đọc được hoặc trên một trường hợp luôn thiếu bộ nhớ thì nhiều khả năng sẽ lặp lại vấn đề. Hãy ghi lại cách sửa trước khi đưa mã định danh đó trở lại hàng đợi.
Hãy giữ ít trạng thái thôi: cần làm, đang chạy, cần kiểm tra, đã chấp nhận và thất bại. Việc chuyển sang « đã chấp nhận » diễn ra sau khi kiểm tra, chứ không phải lúc bắt đầu tính toán. Nếu bạn quyết định loại một mục, hãy thêm trạng thái « đã bỏ » kèm lý do và sự đồng ý cần thiết cho dự án. Nó không được lặng lẽ biến mất khỏi tổng số mong đợi.
Đừng tính một lần thử mới như một tác vụ mới. IMG-019 có thể có ba lần thử và chỉ một kết quả được giữ lại. Sự phân biệt này giúp tránh nhầm lẫn sáu mươi lần chạy với sáu mươi sản phẩm bàn giao khác nhau.
Ví dụ : tìm lại mười chín mục vẫn còn cần thiết
Kịch bản minh họa này liên quan đến sáu mươi hình ảnh độc lập. Sau khi bị gián đoạn và kiểm tra, bốn mươi mốt kết quả được chấp nhận, bốn kết quả một phần, sáu kết quả thất bại và chín kết quả còn thiếu. Nhật ký bao quát đúng 41 + 4 + 6 + 9 = 60 mã định danh. Việc khôi phục liên quan đến mười chín mục, với điều kiện phải xử lý nguyên nhân của sáu lần thất bại.
Người phụ trách lập lại danh sách mười chín mã định danh, rồi phân biệt bốn tệp dở dang, sáu lỗi và chín tác vụ không có kết quả. Người đó xử lý trước một mục đã sửa và một mục còn thiếu. Người đó cũng xác nhận rằng một ảnh đã được chấp nhận không nằm trong danh sách chọn. Bước kiểm tra nhỏ này xác nhận danh sách trước khi xử lý phần còn lại.
Nếu sau đó mười tám mục bổ sung được chấp nhận và một tệp nguồn vẫn không đọc được, kết quả là năm mươi chín mục được chấp nhận và một lỗi đã được giải thích. Lô không được tuyên bố hoàn tất ở con số sáu mươi. Lựa chọn tiếp theo là tìm lại một mục đúng hoặc để mục đó được phê duyệt loại trừ, chứ không phải che giấu dòng đó.
| Trạng thái sau kiểm tra | Số lượng mã định danh | Xử lý đề xuất |
|---|---|---|
| Đã chấp nhận và tìm lại được kết quả | 41 | Giữ lại; không chạy lại |
| Kết quả dở dang | 4 | Để riêng, rồi làm lại |
| Lỗi đã xác định | 6 | Sửa nguyên nhân trước khi thử lại |
| Không có kết quả | 9 | Làm lại từ mục nhập |
| Tổng số cần làm lại | 19 | 4 + 6 + 9, không trùng lặp |
5. Tạo phần làm lại trong một vị trí riêng
Hãy chuẩn bị một thư mục làm lại chỉ chứa các mã định danh được giữ, hoặc dùng tính năng chọn rõ ràng của phần mềm. Đọc lại danh sách trước khi chạy. Nếu công cụ có tùy chọn “bỏ qua các tệp đã tồn tại”, hãy kiểm tra ý nghĩa của nó: sự tồn tại của một tệp dở dang có thể khiến nó bị bỏ qua nhầm. Nhật ký đã kiểm tra vẫn là căn cứ của bạn.
Hãy cho các kết quả mới được tạo trong một thư mục riêng, kèm cấu hình và lần thử của chúng. Xác nhận chúng trước khi thay thế phiên bản trước. Một số script có thể ghi đè tệp đã tồn tại mà không hỏi xác nhận; Python có ghi rõ điều này cho os.replace. Quy ước đặt tên tự nó không bảo vệ khỏi việc bị ghi đè.
Nếu các thiết lập thay đổi để sửa một lỗi, hãy giữ thay đổi đó ở trạng thái dễ thấy. Bạn có thể giữ các kết quả từ hai cấu hình nếu chúng đáp ứng cùng tiêu chí và nếu việc trộn lẫn là chấp nhận được với dự án. Với một loạt hình ảnh đồng nhất về mặt thị giác, hãy so sánh cả kết quả mới với kết quả cũ trước khi gộp các thư mục.
6. Kiểm tra kết quả theo từng mã định danh, không chỉ theo số lượng
Cuối cùng, mỗi mã định danh dự kiến phải có một trạng thái được giải thích. Hai bản sao của IMG-017 không bù đắp cho sự thiếu vắng của IMG-020. Hãy kiểm tra tính duy nhất của tên, sự khớp với các mục nhập và cấu hình của các kết quả được giữ. Mở các tệp đã làm lại và kiểm tra những điểm đã khiến chúng phải làm lại.
Thư mục hoàn tất bao gồm các kết quả được chấp nhận, nhật ký đã cập nhật, các thiết lập và danh sách các mục có thể đã bị loại trừ hoặc vẫn còn tắc. Hãy sao lưu toàn bộ tập hợp này cùng một bản sao đã kiểm tra. Một dòng “đã chấp nhận” không thay thế cho tệp hay bản sao lưu của nó.
Phương pháp này làm lại các tác vụ độc lập từ mục nhập của chúng. Nó không cho phép tự động tiếp tục một mô phỏng, một bản kết xuất hay một quá trình huấn luyện đúng tại lệnh dừng. Những công việc này cần một trạng thái làm lại riêng của phần mềm. Cũng đừng giả định rằng một thư mục còn nằm trên môi trường thuê sẽ được giữ lại sau thời hạn: hãy chuẩn bị bản sao của bạn.