Chuyển tới nội dung chính

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ịuReturn 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ậpKiểuKhoảngGhi chú
Final statuslựa chọnsuccess, failure, cancelledBắt buộc
Messagestring≤ 500 ký tựTùy chọn. Hiện trong log lần chạy

Chọn trạng thái

Trạng tháiNghĩa
successFlow đã làm điều nó định — kể cả "không có gì để làm"
failureFlow không hoàn thành được việc của nó
cancelledKết thúc chủ đích mà không là thành công cũng không thất bại
"Không có gì để làm" là thành công

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 success cho "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, shared sống sót; đó là mục đích của chúng.

Lỗi thường gặp

LỗiHậu quảCách sửa
Không thông điệp trên Stop thất bạiLog không đọc nổiViết lý do
failure cho "không có gì để làm"Báo động giả; cha đi đường phục hồi thừaDùng success
Cố nối ra khỏi StopNó là điểm cuốiDùng Return hoặc cấu trúc lại
Dùng Stop rời vòngKết thúc cả lần chạyDùng Break
Route thất bại bỏ trốngLần chạy kết thúc TRANSITION_NOT_FOUNDNối về Stop
Một Stop cho mọi kết cụcKhông biết chuyện gì xảy raMộ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

Trang liên quan