Stop (Dừng)
Kết thúc lần chạy với trạng thái và thông điệp tuyên bố.
Mục đích
Chấm dứt lần chạy ngay và tuyên bố nó kết thúc thế nào: success, failure, hay cancelled, kèm thông điệp tùy chọn.
Khi flow là Sub Flow, trạng thái của Stop trở thành giá trị trả về của flow — flow cha rẽ theo nó.
Khi nào dùng
- Đánh dấu hoàn tất thành công.
- Kết thúc chủ đích khi tiền điều kiện không đạt.
- Cho một Sub Flow giá trị trả về.
- Chấm dứt mọi nhánh không nên tiếp tục.
Khi nào không dùng
- Rời vòng lặp — dùng Break.
- Bỏ một lượt lặp — dùng Continue.
- Kết thúc flow từ sâu trong vòng lặp nơi Stop khó chịu — Return làm cùng việc và đọc hay hơn.
Điều kiện
Một final status. Thông điệp tùy chọn nhưng rất nên có.
Cách nó chạy
Khi runtime tới node Stop, nó kết thúc lần chạy với trạng thái và thông điệp tuyên bố. Không edge nào được phân giải — Stop là điểm cuối, không có port ra.
Stop tính là một node thực thi so với maxNodeExecutions.
Thiết lập
| Thiết lập | Kiểu | Khoảng | Ghi chú |
|---|---|---|---|
| Final status | lựa chọn | success, failure, cancelled | Bắt buộc |
| Message | string | ≤ 500 ký tự | Tùy chọn. Hiện trong log lần chạy |
Chọn trạng thái
| Trạng thái | Nghĩa |
|---|---|
success | Flow đã làm điều nó định — kể cả "không có gì để làm" |
failure | Flow không hoàn thành được việc của nó |
cancelled | Kết thúc chủ đích mà không là thành công cũng không thất bại |
Một flow kiểm phần thưởng ngày và thấy đã nhận rồi. Đó là thành công, không phải thất bại — trạng thái đích đã đạt.
Dành failure cho "tôi không làm được việc của mình", vì đó là thứ cảnh báo và flow cha của bạn rẽ theo.
Thông điệp là log của bạn
Đặt thông điệp trên mọi Stop, đặc biệt Stop thất bại. Chuỗi đó là thứ bạn đọc khi một lần chạy hỏng qua đêm.
"All slots full" cho biết chuyện gì xảy ra. Một node id chẳng cho biết gì.
Port
Stop là node kết thúc. Nó không có port ra — không gì nối ra khỏi nó.
Ví dụ cơ bản
- Final status: success
- Message:
"Daily rewards collected"
Ví dụ thực tế — các kết thúc riêng biệt
Cho flow một kết thúc mỗi kết cục có nghĩa:
Cả ba đều thành công — flow hành xử đúng trong từng ca — nhưng thông điệp cho biết ca nào xảy ra mà không mở đồ thị.
Ví dụ nâng cao — Stop làm giá trị trả về của Sub Flow
Khi một flow được flow khác gọi, các Stop của nó là giao diện:
Hai Stop với trạng thái rõ ràng cho cha đúng hai nhánh để xử lý. Đây là thứ làm Sub Flow hành xử như hàm.
Best practices
- Viết thông điệp trên mọi Stop. Bắt buộc với Stop thất bại.
- Dùng
successcho "không có gì để làm". - Cho Sub Flow đúng các kết thúc bên gọi cần — thường một thành công một thất bại.
- Nối mọi nhánh cụt về một Stop. Route trống kết thúc bằng
TRANSITION_NOT_FOUND, cho biết ít hơn nhiều thông điệp của bạn. - Làm thông điệp hành động được — nói flow đang ở trạng thái nào, không chỉ rằng nó thất bại.
- Đừng ngại nhiều Stop. Vài kết thúc dán nhãn rõ thắng một kết thúc chung kèm biến giải thích.
Ghi chú hiệu năng
- Stop không tốn gì; nó kết thúc lần chạy.
- Nó tiêu một lần thực thi so với
maxNodeExecutions. - Tới Stop sớm là kết cục rẻ nhất — một phép gác đặt tốt dừng ngay tiết kiệm cả phần flow còn lại.
Ghi chú bộ nhớ
- Kết thúc giải phóng ngữ cảnh thực thi của lần chạy, kể cả Runtime Memory scope
run. - Bộ nhớ
persist,session,sharedsống sót; đó là mục đích của chúng.
Lỗi thường gặp
| Lỗi | Hậu quả | Cách sửa |
|---|---|---|
| Không thông điệp trên Stop thất bại | Log không đọc nổi | Viết lý do |
failure cho "không có gì để làm" | Báo động giả; cha đi đường phục hồi thừa | Dùng success |
| Cố nối ra khỏi Stop | Nó là điểm cuối | Dùng Return hoặc cấu trúc lại |
| Dùng Stop rời vòng | Kết thúc cả lần chạy | Dùng Break |
| Route thất bại bỏ trống | Lần chạy kết thúc TRANSITION_NOT_FOUND | Nối về Stop |
| Một Stop cho mọi kết cục | Không biết chuyện gì xảy ra | Một kết thúc mỗi kết cục có nghĩa |
Khắc phục sự cố
Lần chạy kết thúc TRANSITION_NOT_FOUND thay vì Stop của tôi.
Một route nào đó không nối edge. Tìm node cuối trong log và kiểm port của nó.
Flow cha rẽ nhầm nhánh sau khi gọi con. Stop của con tuyên bố sai trạng thái. Kiểm Stop nào thực sự được tới.
Log không hiện lý do. Không thông điệp nào đ ặt trên Stop được tới.
Stop cancelled trông như người dùng hủy.
Đó là trạng thái tuyên bố, không phải hủy thật. Dùng thưa — success hay failure thường rõ hơn.
FAQ
Flow có nhiều Stop được không? Được, và thường nên vậy.
Stop tính vào maxNodeExecutions?
Có. Start cũng vậy.
Stop khác Return chỗ nào? Cả hai kết thúc lần chạy với trạng thái tuyên bố. Return thiết kế để với tới được từ bất kỳ đâu, kể cả trong vòng lặp.
Thông điệp hiện ở đâu? Trong log lần chạy và kết quả cuối của lần chạy.
Node liên quan
- Start — điểm vào
- Return — kết thúc từ bất kỳ đâu
- Break — rời vòng thay vì
- Sub Flow — tiêu thụ trạng thái Stop của con