과제를 개발하다 보면 병렬처리 혹은 동시 판단해야 할 케이스들이 생긴다.
그 경우 Parallel이나 Pick 중에 뭐를 쓸지 고민하게 된다.
둘의 차이는 인식 시점에서의 수행이다.
Parallel은 기본적으로 동시에 계속 진행된다.
따라서 어떤 인식 기점이 동시에 True가 될 수도 있고, 하나만 True가 될 수도 있다.
어찌됐든 Parallel 안에서는 Exit 조건이 달성되기 전까지 동시에 진행하게 된다. 1
Pick은 Trigger 영역에서 어떤 하나의 Branch를 인식해서 수행할 Branch를 선택하는 순간
다른 Branch들은 무시된다.
각 Trigger별 수행이 바로 밑에 정리되기 때문에 적합한 상황인 경우 가독성도 Parallel에 비해 훨씬 좋다.
따라서 각각의 활용은 대략 이런 형태이다.
i) Parallel이 더 적합한 경우
- 로그인 후 모달형태로 다른 타입들의 공지사항들이 뜨는데 각각 꺼줘야 하는 경우
- 여러 개를 인식하더라도 우선되는 하나만 꺼주면 모두 꺼져서 우선 순위를 지정하면 효율적인 경우
- 여러 개를 인식하면 문제가 있어서 우선 순위를 지정해야 되는 경우
- 보통은 exist 등을 병렬로 늘어놓고 exit조건을 적절히 배합해 진행[각각의 Boolean을 Or 조건으로 연결해도 괜찮]
- 수행 소스는 exit후 If나 switch를 통해 각각 진행. Boolean이 동시에 만족하는 경우도 있을 수 있으므로 주의.
ii) Pick이 더 적합한 경우
- 여러 케이스 중 하나만 배타적으로 잡아야 하는 경우
- exist 등을 각각 Trigger에 넣고 진행
- 각 트리거에 대한 수행 소스는 Pick Branch를 넣어 짤막하게 구성
- Exit조건이 따로 없기 때문에 Pick Branch의 Trigger에는 클릭같은 걸 넣을 수도 있음
보통 Parallel이나 Pick이 잘못 쓰이는 케이스는 각각이 리딩하는 액티비티들이 너무 많아지는 것이다.
Parallel이나 Pick은 너무 길게 끌고가면 소스의 중복이나 불필요한 리소스 사용 등이 발생할 개연성이 매우 커진다. 2
또 좌우로 넓어지는 액티비티의 특성상 길어지면 가독성이 안 좋아지는 단점이 있다.
따라서 동시인식, 동시수행이 필요한 구간만 설정하여 진행해야 한다.
+ pick은 모든 branch의 조건이 충족되지 않으면 가장 왼쪽(첫번째)에 있는 시퀀스를 실행한다.
'RPA Uipath' 카테고리의 다른 글
[Uipath] Browser 변경에 유용한 Conversion Tool (0) | 2022.05.17 |
---|---|
[Uipath] RPA에서 엑셀 매크로를 남발하는 것에 대해 (0) | 2022.05.13 |
[Uipath] Studio 사용이 느릴 때(강제 Telemetry 끄기) (0) | 2022.05.10 |
[Uipath] 새로운 Trigger 기능(Connection Test 2022.08.23. 업데이트) (0) | 2022.04.08 |
[Uipath] 원격 VM의 Element를 컨트롤 해야 하는 경우(Remote Runtime) (2) | 2022.04.07 |