Phần lớn luồng tự động không tự hỏng; chúng gãy vì một thứ ở hai đầu bị thay đổi: ai đó đổi tên cột, thêm câu hỏi vào biểu mẫu, đổi mật khẩu tài khoản, hoặc ứng dụng tự cập nhật. Luồng được dựng dựa trên hình dạng của dữ liệu tại một thời điểm, và khi hình dạng đó đổi mà luồng không được báo, nó hoặc dừng hẳn, hoặc tệ hơn, tiếp tục chạy với dữ liệu sai.
Bài này dành cho cửa hàng, văn phòng nhỏ nơi nhiều người cùng dùng một bảng tính, một biểu mẫu, một hộp thư mà luồng đang nối vào. Bạn sẽ biết những thay đổi nào hay làm gãy luồng, cách nhận ra và sửa nhanh, và một quy tắc báo trước đơn giản để thay đổi không còn phá việc đang chạy.
Những thay đổi hay làm gãy luồng và triệu chứng của chúng
Mỗi loại thay đổi để lại một triệu chứng khác nhau. Nhận ra triệu chứng là đoán được nguyên nhân trước cả khi mở lịch sử lượt chạy.
| Thay đổi | Triệu chứng hay gặp | Có báo lỗi không |
|---|---|---|
| Đổi tên cột, chèn cột mới vào giữa bảng | Dữ liệu ghi lệch cột, hoặc ô trống ở cột bị đổi tên | Thường không |
| Thêm, xoá, sửa câu hỏi trong biểu mẫu | Câu trả lời mới không vào bảng, hoặc câu trả lời bị ghép nhầm câu hỏi | Đôi khi |
| Đổi tên trang tính, chuyển tệp sang thư mục khác | Luồng không tìm thấy nơi ghi, mọi lượt cùng hỏng | Có |
| Đổi mật khẩu, bật xác thực hai lớp, khoá tài khoản | Mọi lượt hỏng từ một thời điểm, lỗi nhắc tới quyền hay xác thực | Có |
| Thay đổi giá trị trong danh sách chọn, như đổi "Đã giao" thành "Hoàn tất" | Bộ lọc không còn khớp, luồng chạy nhưng không làm gì | Không |
| Ứng dụng nguồn cập nhật, đổi cách gửi dữ liệu | Trường đổi tên hoặc đổi định dạng, một số bước nhận ô trống | Đôi khi |
Cột cuối cùng giải thích vì sao loại lỗi này đáng sợ: một nửa các thay đổi không làm luồng báo lỗi gì. Luồng vẫn xanh, chỉ là kết quả âm thầm sai. Đó là lý do cần cả cảnh báo lỗi lẫn nhịp kiểm tra số lượng như đã bàn ở bài về cảnh báo lỗi của danh mục này.
Đổi tên cột và sửa biểu mẫu: thủ phạm âm thầm nhất
Nhiều công cụ kéo thả nhận diện cột của bảng tính theo tên tiêu đề hoặc theo vị trí lúc dựng luồng. Nếu nhận theo vị trí, chèn một cột mới vào giữa bảng làm mọi cột phía sau lệch một ô: số điện thoại ghi vào cột địa chỉ, địa chỉ ghi vào cột ghi chú. Nếu nhận theo tên, đổi "Ngày hẹn" thành "Ngày khách đến" làm luồng tìm không thấy cột, có khi ghi ô trống, có khi bỏ qua. Bạn nên biết công cụ của mình nhận diện theo kiểu nào, và tài liệu hiện hành của công cụ thường nói rõ.
Biểu mẫu cũng tương tự. Thêm một câu hỏi mới thường không làm gãy luồng, nhưng câu trả lời mới không đi đâu cả vì luồng chưa được bảo phải lấy nó. Sửa chữ của câu hỏi cũ, ví dụ thêm dấu chấm hỏi hay đổi "Số ĐT" thành "Số điện thoại", có thể khiến luồng coi đó là câu hỏi mới và bỏ trống trường cũ. Xoá câu hỏi rồi tạo lại câu hỏi giống hệt là cách chắc chắn nhất để làm gãy luồng.
Cách sửa sau khi gãy thường là mở bước lấy dữ liệu trong luồng, chọn lại cột hoặc câu hỏi đúng, chạy thử, rồi xử lý những bản ghi đã đi qua trong lúc luồng sai. Phần xử lý bản ghi đã sai có bài riêng về chạy bù và đối soát trong danh mục này.
Kết nối hết hạn và tài khoản bị đổi
Đổi mật khẩu có thể ngắt kết nối. Khi bạn đổi mật khẩu tài khoản mà luồng dùng để nối, tuỳ ứng dụng, quyền đã cấp cho công cụ kết nối có thể bị thu hồi theo. Luồng hỏng ngay lượt chạy kế tiếp. Sau mỗi lần đổi mật khẩu tài khoản dùng cho luồng, mở công cụ kết nối kiểm và kết nối lại nếu cần.
Kết nối có thể tự hết hạn. Một số ứng dụng giới hạn thời gian sống của quyền cấp cho ứng dụng bên ngoài, hoặc yêu cầu xác nhận lại định kỳ. Luồng chạy tốt nhiều tháng rồi đột ngột dừng mà không ai đụng vào là dấu hiệu điển hình. Ghi ngày kết nối vào phiếu luồng để biết khi nào nên kiểm.
Tài khoản cá nhân là điểm yếu. Kết nối đứng tên hộp thư của một nhân viên sẽ gãy khi người đó nghỉ, đổi mật khẩu hoặc bị khoá tài khoản. Chuyển sang tài khoản chung của công ty, cấp quyền tối thiểu đủ cho luồng, là cách bền hơn. Chi tiết về cấp quyền có trong danh mục an toàn kết nối của trang.
Xác thực hai lớp không phải lý do để tắt. Bật xác thực hai lớp đôi khi buộc phải kết nối lại luồng. Đó là phiền một lần, không phải lý do để bỏ xác thực hai lớp ở tài khoản có quyền đọc dữ liệu khách.
Quy tắc báo trước khi thay đổi thứ luồng đang dùng
Cách bền nhất để chống loại lỗi này không nằm trong công cụ mà nằm trong thói quen của nhóm. Quy tắc gợi ý cho văn phòng nhỏ:
- Đánh dấu mọi bảng tính, biểu mẫu, thư mục, hộp thư đang được luồng dùng, bằng một dòng ghi chú ở đầu hoặc trong phần mô tả: "Đang nối với luồng tự động, báo người phụ trách trước khi sửa cấu trúc."
- Định nghĩa rõ thế nào là sửa cấu trúc: đổi tên, thêm, xoá, đổi thứ tự cột; sửa câu hỏi biểu mẫu; đổi giá trị trong danh sách chọn; đổi tên tệp, chuyển thư mục.
- Người muốn sửa báo trước cho người phụ trách luồng, kể cả khi thay đổi trông vô hại.
- Người phụ trách tạm dừng luồng, để người kia sửa, rồi cập nhật bước tương ứng trong luồng và chạy thử với bộ ca thử.
- Bật lại luồng, ghi thay đổi vào lịch sử của phiếu luồng.
- Với tài khoản dùng cho luồng, đổi mật khẩu theo lịch có báo trước, không đổi đột xuất trừ khi có sự cố bảo mật.
Quy tắc này nghe có vẻ rườm rà với văn phòng năm người, nhưng thực tế chỉ là một tin nhắn "em sắp thêm cột ở bảng đơn nhé" và năm phút của người phụ trách. So với một buổi dò lỗi và một tuần dữ liệu sai, đó là cái giá rẻ.
Dựng luồng sao cho bền hơn trước thay đổi
Một số cách dựng giúp luồng chịu được thay đổi tốt hơn. Thêm cột mới ở cuối bảng thay vì chèn vào giữa, để luồng nhận theo vị trí không bị lệch. Dùng một trang tính riêng làm đích của luồng, người dùng chỉ đọc hoặc làm việc ở trang khác có công thức kéo dữ liệu sang; như vậy họ thoải mái sắp xếp, tô màu, thêm cột ở trang của mình mà không chạm vào trang luồng ghi.
Với danh sách chọn như trạng thái đơn, giữ giá trị ổn định và ghi chú rõ rằng luồng đang lọc theo giá trị đó. Nếu cần đổi chữ hiển thị, cân nhắc giữ một cột mã ngắn không đổi, như DG cho đã giao, để luồng lọc theo mã, còn người đọc nhìn chữ đầy đủ. Đặt bộ lọc không phân biệt chữ hoa chữ thường và bỏ dấu cách thừa nếu công cụ có tuỳ chọn đó.
Cuối cùng, sau mỗi lần ứng dụng nguồn có bản cập nhật lớn, như hệ thống bán hàng thông báo đổi giao diện hay đổi cách xuất dữ liệu, chạy lại bộ ca thử của các luồng liên quan dù chưa thấy lỗi. Nhà cung cấp thường báo trước những thay đổi lớn qua thư hoặc trang thông báo; đăng ký nhận những thông báo đó bằng hộp thư vận hành chung để không bỏ lỡ.
Lịch kiểm kết nối và cấu trúc định kỳ
Ngoài quy tắc báo trước, một lịch kiểm ngắn mỗi tháng bắt được những thay đổi lọt lưới, nhất là những thay đổi không do người trong công ty làm. Người phụ trách luồng có thể dành mười lăm phút đầu tháng cho các việc sau:
- Mở danh sách kết nối trong công cụ, xem kết nối nào báo cần xác nhận lại, kết nối nào sắp hết hạn, kết nối nào đứng tên người đã nghỉ.
- Mở từng bảng tính, biểu mẫu mà luồng dùng, so tên cột và câu hỏi với phiếu luồng. Chỗ nào khác là chỗ cần xem lại ngay.
- Xem lịch sử phiên bản của các bảng và biểu mẫu đó trong tháng qua, tìm thay đổi cấu trúc không được báo trước.
- Đọc lướt thông báo cập nhật của các ứng dụng nguồn và công cụ kết nối trong hộp thư vận hành chung.
- Chạy bộ ca thử cho một hai luồng quan trọng nhất, kể cả khi chưa thấy lỗi gì.
- Ghi ngày kiểm vào sổ luồng, kèm những gì đã phát hiện và đã sửa.
Lịch kiểm này không thay được cảnh báo lỗi, vì nó chỉ chạy mỗi tháng một lần. Nhưng nó bắt được đúng loại lỗi mà cảnh báo bỏ sót: những thay đổi nhỏ chưa làm gãy luồng nhưng sắp làm gãy, như một kết nối sắp hết hạn hay một cột vừa bị đổi tên ở trang mà luồng chưa đọc tới. Phát hiện trước một ngày còn hơn chạy bù một tuần.
Sửa nhanh khi phát hiện luồng đã gãy vì thay đổi
Khi nghi luồng gãy vì một thay đổi, câu hỏi đầu tiên là "gần đây ai đã sửa gì ở hai đầu luồng?". Lịch sử phiên bản của bảng tính và biểu mẫu thường cho biết ai sửa gì lúc nào. Đối chiếu thời điểm sửa với thời điểm lượt chạy bắt đầu sai là thấy ngay thủ phạm, thường nhanh hơn đọc từng bước trong luồng.
Có hai hướng sửa. Hướng thứ nhất là trả lại cấu trúc cũ, ví dụ đổi tên cột về như trước, nếu thay đổi đó không thật sự cần. Hướng thứ hai là cập nhật luồng theo cấu trúc mới. Hướng nào cũng phải thử lại bằng bộ ca thử trước khi bật luồng, và phải tính tới những bản ghi đã đi qua trong khoảng luồng chạy sai.
Đừng quên báo lại cho người đã sửa cấu trúc, không để trách mà để họ biết bảng đó có luồng đang dùng. Nhiều người sửa bảng vì không hề biết có một luồng phía sau. Lần sau họ sẽ báo trước, và đó là kết quả bền hơn mọi bước kỹ thuật.
Câu hỏi thường gặp
Vì sao đổi tên một cột trong bảng tính lại làm luồng tự động ngừng chạy?
Vì luồng nhận diện cột theo tên hoặc theo vị trí lúc được dựng. Đổi tên làm luồng không tìm thấy cột, chèn cột vào giữa làm dữ liệu ghi lệch ô. Thường không có thông báo lỗi nào, nên chỉ phát hiện khi thấy dữ liệu sai hoặc thiếu.
Đổi mật khẩu tài khoản có làm hỏng luồng tự động không?
Có thể. Tuỳ ứng dụng, đổi mật khẩu có thể thu hồi quyền đã cấp cho công cụ kết nối. Sau mỗi lần đổi mật khẩu tài khoản dùng cho luồng, kiểm lại kết nối trong công cụ và kết nối lại nếu cần, rồi chạy thử một lượt.
Sửa câu hỏi trong biểu mẫu có ảnh hưởng tới luồng không?
Có thể. Sửa chữ câu hỏi cũ có khi làm luồng coi đó là câu hỏi mới và bỏ trống trường cũ; xoá rồi tạo lại câu hỏi gần như chắc chắn làm gãy. Báo người phụ trách luồng trước khi sửa, để họ cập nhật bước tương ứng.
Làm sao để nhân viên không vô tình làm gãy luồng?
Ghi chú ở đầu mọi bảng, biểu mẫu đang nối với luồng, định nghĩa rõ thế nào là sửa cấu trúc, và lập quy tắc báo trước cho người phụ trách. Dùng một trang tính riêng cho luồng ghi cũng giúp người dùng thoải mái sửa trang của mình.
Luồng chạy tốt nhiều tháng rồi tự dừng dù không ai đụng vào là sao?
Thường do kết nối hết hạn, tài khoản kết nối bị đổi mật khẩu hay bị khoá, hoặc ứng dụng nguồn cập nhật. Xem thông báo lỗi trong lịch sử lượt chạy, thường nhắc tới quyền hay xác thực, rồi kết nối lại bằng tài khoản chung của công ty.
Có nên tắt xác thực hai lớp để luồng đỡ phải kết nối lại không?
Không nên. Xác thực hai lớp bảo vệ tài khoản có quyền đọc dữ liệu khách. Kết nối lại luồng sau khi bật chỉ phiền một lần. Hãy dùng tài khoản chung với quyền tối thiểu cho luồng thay vì hạ mức bảo vệ.