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

Monitor Scope (Vùng giám sát)

Canh một điều kiện trong khi các node trong vùng chạy, và chuyển hướng lần chạy khi nó nổ.

Monitor Scope là câu trả lời cho "có thứ có thể chen ngang flow của tôi bất cứ lúc nào" — một popup, mất kết nối, một dialog bất ngờ — mà không phải bọc mỗi node bằng một phép kiểm.

Mục đích

Một vùng vẽ trên canvas. Trong khi lần chạy đang thực thi bất kỳ node nào có thẻ nằm trọn trong vùng đó, một monitor định kỳ chạy một flow phát hiện riêng. Nếu phát hiện đó kết thúc ở một lối ra được ánh xạ, lần chạy tiếp tục từ node bạn chỉ định.

Khi nào dùng

  • Một chen ngang có thể hiện bất kỳ điểm nào trong một pha — popup, quảng cáo, cảnh báo mất kết nối.
  • Bạn cần lưới an toàn trên một chuỗi dài mà không thêm kiểm giữa mỗi bước.
  • Phục hồi nên xảy ra tại chỗ lần chạy đang ở, không phải điểm chốt cố định.

Khi nào không dùng

  • Cho một phép kiểm ở một điểm biết trước — một Find Image trơn đơn giản và rẻ hơn.
  • Cho thứ cần hành động mỗi node — monitor chạy theo chu kỳ, không mỗi bước.
  • Thay xử lý lỗi. Vẫn nối port Failure của bạn.

Điều kiện

  • Một flow chỉ-phát-hiện để chạy làm phép canh.
  • Một vùng có kích thước thật — vùng không kích thước phủ không gì và không bao giờ vũ trang.
  • Monitor phải được bật; nó sinh ra tắt.

Cách nó chạy

Hai điều từ thiết kế này:

Node vùng không bao giờ được nối vào flow. Nó không có edge vào/ra bạn vẽ. Nó chỉ mang hình học và cấu hình.

Tư cách thành viên là hình học. Kéo node vào/ra vùng là một cú kéo — không node nào lưu id cha có thể mốc. Cùng mô hình với Group.

Next Node theo lối ra

Cơ chế duy nhất nối monitor với flow của bạn: một map từ id node Stop của flow phát hiện tới node flow-chính lần chạy tiếp tục từ đó khi một phép kiểm kết thúc ở Stop đó.

Flow phát hiện kết thúc ởFlow chính tiếp tục từ
Stop: thấy popupĐóng popup
Stop: mất kết nốiQuy trình kết nối lại
Stop: sạch(không ánh xạ — quan sát thuần)

Một lối ra ánh xạ tới không gì là quan sát thuần: monitor để ý, ghi log, và lần chạy đi tiếp không xáo trộn.

Thiết lập

Thiết lậpKiểuKhoảngMặc địnhGhi chú
Monitor namestring≤ 120 ký tựNhãn hiển thị
Monitor enabledbooleanfalseSinh ra tắt — bạn phải bật
Watch flowtham chiếu flow≤ 120 ký tựFlow chỉ-phát-hiện chạy mỗi kiểm
Zone width / heightnumber0–10000Kích thước hình chữ nhật. Gốc là vị trí canvas của node
Exit next nodesmap≤ 64 mụcid Stop phát hiện → id node flow chính
Priorityintegergiới hạnMonitor nào thắng khi nhiều cái vũ trang
Check intervalintegerms giới hạnChạy phát hiện thường xuyên cỡ nào
Cooldowninteger0–max msKhoảng tối thiểu giữa các lần nổ
Sustainedinteger0–max msĐiều kiện phải giữ bao lâu trước khi nổ
Max triggers per activationinteger0–1000Trần mỗi lần vũ trang; 0 = vô hạn

Check interval là núm chi phí

Mỗi phép kiểm chạy trọn một flow phát hiện. Chu kỳ 500 ms trên một pha 60 giây là 120 lần chạy phát hiện.

Đặt nó là chu kỳ chậm nhất mà vẫn bắt chen ngang kịp lúc.

Sustained chặn dương tính giả

sustainedMs yêu cầu điều kiện giữ bấy lâu trước khi monitor nổ. Điều này lọc trạng thái thoáng qua — một dialog giữa hiệu ứng, một nhấp nháy trong chuyển cảnh.

Cooldown chặn bão

cooldownMs là khoảng tối thiểu giữa các lần nổ, nên một điều kiện dai không nổ đường phục hồi liên tục.

Max triggers per activation

Trần cứng mỗi lần vũ trang. Dùng khi một phục hồi cứ nổ mãi nghĩa là có gì thật sự sai và lặp tệ hơn dừng.

Port

Node vùng không bao giờ được nối. Nó lộ một port success pass-through để payload cũ nối tay còn định tuyến, và một port fatal — nhưng soạn thảo bình thường bạn không nối gì vào nó.

PortGhi chú
SuccessPass-through cho payload cũ; không dùng trong soạn thảo bình thường
FatalLỗi cấu hình. Không bao giờ được đi

Ví dụ cơ bản

Canh popup trong một pha dài:

  • Monitor name: Popup watch
  • Monitor enabled: bật
  • Watch flow: Detect Popup
  • Check interval: 1000 ms
  • Exit map: Stop: thấy popupĐóng popup
  • Vùng: vẽ quanh các node của pha

Ví dụ thực tế — lưới an toàn trên một pha

Bốn node trong vùng được canh. Nếu flow phát hiện kết thúc ở Stop "thấy popup", lần chạy nhảy tới Đóng popup, rồi vào lại pha.

Node ngoài vùng không được canh — nên monitor không tốn gì suốt phần còn lại flow.

Ví dụ nâng cao — monitor phân tầng

Hai vùng với priority và chu kỳ khác nhau:

MonitorCanhChu kỳPriorityÁnh xạ tới
Disconnect watchDialog mất kết nối2000 mscaoQuy trình kết nối lại
Popup watchPopup thường quy1000 msthấp hơnĐóng popup

Khi cả hai vũ trang và cùng có thể nổ, priority quyết cái thắng. Đặt điều kiện nghiêm trọng hơn ở priority cao hơn.

Best practices

  • Bật monitor. Nó sinh ra tắt, và đây là lý do phổ biến nhất monitor "không làm gì".
  • Cho vùng kích thước thật và kiểm các node bạn định nằm trọn trong nó.
  • Giữ watch flow tí hon — chỉ phát hiện, không hành động. Nó chạy mỗi kiểm.
  • Dùng chu kỳ dài nhất vẫn bắt được vấn đề.
  • Đặt sustainedMs cho mọi thứ có thể hiện giữa hiệu ứng.
  • Đặt cooldownMs để điều kiện dai không nổ liên tục.
  • Ánh xạ node phục hồi để vào lại pha, kẻo lần chạy tiếp tục ở nơi không còn hợp lý.
  • Giới hạn vùng chặt. Monitor trên cả flow trả chi phí cả flow.

Ghi chú hiệu năng

  • Chi phí = (node thực thi trong vùng) × (tần suất kiểm) × (chi phí watch flow). Cả ba nhân nhau.
  • Watch flow với Find Image toàn màn đắt hơn nhiều một cái có search region nhỏ. Cho watch flow vùng chặt.
  • Monitor được vũ trang và giải trừ bằng diff chuỗi scope trước mỗi node, thứ rẻ. Chi phí là các phép kiểm.
  • Ưu tiên vài vùng nhỏ hơn một vùng trùm cả flow.

Ghi chú bộ nhớ

  • Watch flow chạy như một lượt phát hiện; nó giữ một khung mỗi kiểm.
  • Trạng thái monitor (lần nổ cuối, số lần nổ, đồng hồ sustained) theo lần chạy và nhỏ.
  • Chuỗi scope biên dịch được đóng dấu trên đồ thị trong RAM đã mở rộng, không bao giờ trong flow lưu.

Lỗi thường gặp

LỗiHậu quảCách sửa
Monitor để tắtKhông gì xảy raBật nó
Vùng không kích thướcPhủ không gì, không vũ trangCho kích thước thật
Node chỉ nằm một phần trong vùngKhông được phủ — cần thẻ nằm trọn trongChỉnh cỡ vùng
Watch flow thực hiện hành độngHành động nổ mỗi kiểmChỉ phát hiện
Chu kỳ quá ngắnChậm lớnKéo dài
Không cooldown trên điều kiện daiPhục hồi nổ liên tụcĐặt cooldown
Node phục hồi không vào lại phaLần chạy tiếp tục sai chỗÁnh xạ lại
Cố nối node vùngKhông bao giờ nốiĐể nó không nối

Khắc phục sự cố

Monitor không bao giờ nổ. Kiểm, theo thứ tự: đã bật chưa; vùng có kích thước thật không; node có nằm trọn trong không; đã chọn watch flow chưa; flow phát hiện có thực sự tới Stop được ánh xạ không.

Nó nổ liên tục. Không cooldown, hoặc không ngưỡng sustained. Thêm cả hai.

Flow chậm hẳn trong vùng. Chu kỳ quá ngắn, hoặc watch flow đắt. Kéo dài chu kỳ và cho watch flow search region.

Lần chạy tiếp tục ở chỗ lạ. Ánh xạ lối ra trỏ tới node không vào lại pha. Ánh xạ lại.

Một khóa lối ra ánh xạ không làm gì. Stop đã bị gỡ khỏi flow phát hiện. Khóa mốc vô hại — nó không bao giờ nổ được — và Properties panel hiện nó như thiếu.

FAQ

Node vùng có thực thi không? Không. Nó chỉ mang hình học và cấu hình, và không bao giờ nối vào flow.

Tư cách thành viên quyết thế nào? Hình học — một node được phủ khi thẻ của nó nằm trọn trong hình chữ nhật vùng.

Nhiều monitor vũ trang cùng lúc được không? Được. Priority quyết cái thắng.

Watch flow làm được gì? Chỉ phát hiện. Nó không nên gửi input.

Ánh xạ được mấy lối ra? Tối đa 64.

Node liên quan

  • Find Image — thứ watch flow thường dùng
  • Check Region — điều kiện canh rẻ
  • Sub Flow — routine phục hồi monitor nhảy vào
  • Stop — lối ra của flow phát hiện là node Stop

Trang liên quan