The operation has timed out

환경

클라우드 오케스트레이터

커뮤니티 버전 스튜디오

현상 : 

1. 오케스트레이터에 특정 패키지가 게시되지 않음[운영 과제였고 최근 27번째 버전까지 게시했던 과제]

2. 파일을 복사하여 게시했으나 현상 유지

3. 연결된 오케스트레이터를 변경했으나 현상 유지

4. 이벤트 뷰어에서는 TaskCancelException과 Main파일을 찾을 수 없다는 메세지, I/O 취소 같은 메세지들이 출력됨

 

추정 원인 : 

1. 패키지 파일 손상

 

조치 :

1. 오케스트레이터에서 최신 누겟을 다운받아 패키지 업로드 => 성공 

2. 최근 변경사항을 해당 누겟의 라이브러리에 적용하고 패키지 업로드

 

패키지 파일이 꼬였는데 Validation이 맞지 않는 상태에서 업로드하려다 이슈가 생긴 것으로 보임

왜 꼬였는지는 파악 불가 [개발자는 특별한 행동을 했는지는 기억 안 난다고 함]

일반적으로 Hostname을 *를 붙여 요청하면 방화벽을 해제해 주지만

간혹 IP Resolution 형태라 IP질의가 무조건 확인돼야만 방화벽을 해제해주는 사이트들이 있다.

Cloud로 오케스트레이터를 설치하는 게 대세임을 생각하면

이런 사이트에서 오케스트레이터를 쓰기 위해선 일일이 풀어주는 수밖에 없다.

아래 URL이 관련하여 실제로 풀어준 URL이다.

uipath.pkgs.visualstudio.com
*.*.msecnd.net
crpa-prod-orch0-ne-signalr.service.signalr.net
www.nuget.org
globalcdn.nuget.org
download.uipath.com
marketplace.visualstudio.com
onedscolprdjpe00.japaneast.cloudapp.azure.com
watson.telemetry.microsoft.com
a23-32-56-75.deploy.static.akamaitechnologies.com
raw.githubusercontent.com
pages-custom-64.weebly.com
sketchrunner.com
bitmiracle.com
account.uipath.com
cloud.uipath.com
activate.uipath.com
myget.org
dev.azure.com
pkgs.dev.azure.com

 

하기는 공식 문서에서 알려주는 Firewall 관련 안내

https://docs.uipath.com/automation-cloud/docs/configuring-your-firewall-for-automation-cloud

 

Configuring your firewall for Automation Cloud

This page lists the domains used by UiPath Automation Cloud and our other cloud services. You can use this information to compile an allow list for UiPath software in the configuration of your company's perimeter network.

docs.uipath.com

https://docs.uipath.com/task-mining/docs/prerequisites

 

Prerequisites and Limitations

The below list contains the minimum requirements needed for working with Task Mining: Prerequisites for Enabling the Service To start using the Task Mining service you need to check that the following prerequisites are met: You have an Automation Cloud acc

docs.uipath.com

 

0. Cloud 오케스트레이터 Prequisites

방화벽만 제외한다면 그닥 클라우드와 아닌 것을 구분할 필요는 없다.

방화벽 관련해서는 docs 문서를 참고하는 걸 추천한다.

https://docs.uipath.com/automation-cloud/docs/configuring-your-firewall-for-automation-cloud

 

Configuring your firewall for Automation Cloud

This page lists the domains used by UiPath Automation Cloud and our other cloud services. You can use this information to compile an allow list for UiPath software in the configuration of your company's perimeter network.

docs.uipath.com

https://docs.uipath.com/task-mining/docs/prerequisites

 

Prerequisites and Limitations

The below list contains the minimum requirements needed for working with Task Mining: Prerequisites for Enabling the Service To start using the Task Mining service you need to check that the following prerequisites are met: You have an Automation Cloud acc

docs.uipath.com

도메인 기준으로 방화벽을 풀어주는 곳이라면 이 정도만 안내해도 괜찮다.

다만 IP Resolution 방식인 경우에는 Azure나 SignalR같은 서비스에 대해 IP가 변동될 수 있음을 안내해야 한다.

+ 사내 방화벽 관리자와 서비스를 이용하면서 트래픽을 모니터링할 필요가 있다. [막히는 걸로 의심되면 그걸 풀어줌]

보통 Start Job이나 package 다운로드, UR연결 등을 해보면 대부분 체크가 된다.

 

1. 라이선스 등록 및 유저 생성

 - 라이선스는 기본적으로 12자리 시리얼 Key 형태로 주어진다.

 - User는 기본적으로 Email을 필수로 하기 때문에 Verify 과정을 Email 링크로 진행한다.

 - 최초 SSO 계정은 주어지지 않으며, 그냥 처음에 Group을 만든 User가 전체 관리자가 된다.

 - 관리 계정을 따로 만들고 싶다면 메일 계정을 연결하여 권한을 주면 된다.

 - 관리 계정으로 administration을 들어가 '계정 및 그룹'에서 사용자를 초대할 수 있다.

 - administration에서 라이선스를 들어가면 Enterprise 활성화가 있고, 이를 활성화하면 라이선스 기간이 시작된다.

2. 머신 및 로봇 연결

 - Machine은 템플릿 형태로 생성해야 한다. [Modern 기준]

 - Machine의 Production이 1이라는 것은 한번 연결될 때 라이선스를 1씩 부여한다는 뜻이다.

 - 즉, 유효한 Machine Template이라면 Production이 1로 올려져 있다.

 - Developer와 Attended Robot(User)는 오케스트레이터에서 권한을 주고 Assistant를 통해서 로그인만 하면 된다.

 - 머신키로도 인증하고 싶으면 테넌트 선택 - 설정으로 들어가서 로봇 보안에서 수동로봇 관련 '하이브리드'라는 항목을 체크[굳이 이렇게 해서 Device에 종속될 이유는 없다. 그게 필요한 경우는 설정.]

 - UR은 계정에서 로봇 유저를 일단 만들어야 한다. 로봇유저는 기본적으로 UR만을 위한 계정이다.

- UR로 연결할 Device는 UR버전으로 설치해야 한다. 설치에 시스템 서비스를 포함하고 있기 때문. 실제로 UR로 설치하지 않으면 연결이 되더라도 AutoLogin이 되지 않는다. 이 부분은 장치를 관리하는 사람 입장에서는 이전에 비해 불편해졌다고 할 수 있다. (AR을 Windows Scheduler로 쓰는 입장에선 UR로 깔고 AR로 연결하는 편이 낫다. 아니면 Windows Lock을 그냥 없애든가)

 - 테넌트 레벨에서 엑세스 관리 - 로봇 유저 편집을 하면 로봇 설정이라는 카테고리가 있다. 거기서 머신 로그인 자격증명을 체크하고 연결할 로봇의 구체적인 Windows Credential을 입력해주자.

 - 사용할 폴더 레벨에서 머신템플릿을 할당하고 그 폴더에 할당될 수 있는 로봇을 주면 연결 준비 완료(커뮤니티 클라우드쪽에서는 머신에 로봇을 할당하는 메뉴가 뜨지 않는 듯)

 - UR의 경우 Machine Key와 연결해야 하며, Cloud 주소는 폴더를 선택했을 때 나오는 주소 기준으로 입력해야 제대로 들어간다. (클라우드의 경우 https://cloud.uipath.com/{그룹PK}/DefaultTenant/orchestrator_ 형태다.)

 - 온 프레미스의 경우 UR에서 OAuth Application Connection을 요구하기도 하나, 무인로봇 하이브리드 체크하고 머신키 인증을 하는 게 수월하다.

 

 

개발을 하면서 Breakpoint를 껐다 켰다 하면서 디버깅을 한다.

보통은 특정 조건을 만족하면 '여긴 이제 안 봐도 되겠다'하고 토글을 끄고,

그 부분에서 문제가 나는 거 같다 생각되면 그 토글을 켜서 디버깅을 하는 경우가 많다.

 

이때 Breakpoint의 Condition을 주어 Conditon이 충족할 때만 Breakpoint에 걸리게 할 수 있다.

기본적으론 Condtion이 True일 때 멈춘다.

Hit Count는 일종의 Occurence다. Condition이 n번 충족되면 멈춘다.

가령 Retry를 통해 정상작동하면 스위치나 Exception을 init하는 경우, Hit Count를 조정할 수 있다.

Log Message는 이 Breakpoint가 동작하면 로그를 남긴다.

Continue execution을 체크하면 다른 구조적인 조치없이 그 부분에 조건 로깅을 거는 형태로 디버그 할 수 있다.

+ 조건없이 Breakpoint에 로깅만 걸어두면 소스상 Write Line없이도 로깅이 남기 때문에 편리

 

 

관련 링크 : https://docs.uipath.com/studio/docs/the-breakpoints-panel

1. Excel 2013의 특정 버전에서 열 숨기기 취소 단축키(Ctrl+Shift+0)가 먹히지 않는 현상

 - BalaReva의 Activity를 이용해 처리하는 것이 더 안정적

 - 특정 세부 버전부터 적용된 것으로 보임

2. tsv 파일을 열었을 때 인코딩이 깨지는 현상

 - Read CSV로 바로 읽어서 처리(Encoding 방식을 Back단에서 선택할 수 있기 때문)

 - OS나 환경 변화 시 기본 Locale이나 Encoding이 달라질 수 있음

 - https://support.microsoft.com/ko-kr/office/%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%97%B4%EA%B1%B0%EB%82%98-%EC%A0%80%EC%9E%A5%ED%95%A0-%EB%95%8C-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EC%9D%B8%EC%BD%94%EB%94%A9-%EC%84%A0%ED%83%9D-60d59c21-88b5-4006-831c-d536d42fd861

 

파일을 열거나 저장할 때 텍스트 인코딩 선택

일반적으로는 텍스트가 저장되는 방법의 기본적인 정보에 대해 걱정하지 않고 텍스트 파일을 공유할 수 있습니다. 그러나 다른 언어로 작업하는 사람과 텍스트 파일을 공유하거나, 인터넷에서

support.microsoft.com

=> 꼭 Front로 열어야 한다면 참고

구글시트 사용 가이드.pptx
1.27MB
구글 클라우드 키 생성.pptx
0.97MB

예전 프로젝트에서 현업 교육할 때 만들었던 교육용 문서

 

사용 설정만 하면 구글 시트뿐 아니라 Gmail이나 Google Vision, Google Drive 등도 손쉽게 쓸 수 있다.

 

인증은 api키, oath, Account key(JSON) 방식이 있는데 Account Key가 가장 발급, 관리가 쉬운 편이다.

api키, oath는 크롬에서 재인증 요청을 하는 케이스가 많다. [일단 권한을 부여 해두면 그 로컬에서 돌아가긴 하지만 Device가 바뀌거나 세션이 지워지면 또 물어본다. deploy하는 입장에선 중대한 관리포인트다.]

 

** 2022-02-28 내용 추가

1. 몇몇 Cloud Service는 결제 계정(Billing Account)을 필수로 함

2. Cloud Vision 쓸 일이 있어 Service Account로 API 형태로 소환하는 건 잘 됐으나 Cloud Vision Activities의 Scope에서 활용할 때는 권한 문제가 생겼음. => API키로 설정하면 권한 문제 없이 넘어감. 서비스 계정이 앱에서 사용될 때의 제약인 것으로 보임.

3. 구글시트나 구글 드라이브 같은 Billing Account가 필수가 아닌 앱들의 경우엔 Service Account가 더 주효했음. Api Key의 경우 간혹 로그인 확인절차를 거치는 케이스가 있었던 것으로 기억.

기본적으로 스튜디오 내부에서는 세팅된 것을 가져다 쓰는 식

아키텍쳐는 

DU Server - Orchestrator - Assistant(혹은 Studio)

형태라고 함

DU Server는 리눅스 OS에서 세팅되며 설치된 곳은 스펙이 좋아야 함. 아니면 부팅 중 멈추거나 제대로 동작하지 않는 현상이 많았다고 함(2021.04 버전 기준) => 2021.10부터는 그나마 안정적으로 작동한다는 말이 있음. [다만 표본이 부족하기 때문에 프로젝트 케이스가 더 생겨야 한다고 봄]

https://docs.uipath.com/document-understanding

관련 영상

1.    https://youtu.be/U11il47YLqk

데이터매니저에서 학습용 영수증을 레이블링한 후 그 결과를 데이터셋으로 내보냄.

2.    https://youtu.be/w6tUly5cxzM

AI Center에서 영수증 데이터셋을 임포트하여 ML 모델을 학습시켜서 로봇이 사용할 수 있는 ML 스킬을 생성함.

3.    https://youtu.be/ommhluQ2FkY

로봇이 ML 스킬을 이용하여 영수증을 인식하고 그 결과를 concur에 입력함.

 

**** 어떤 과제가 '비싼' DU를 써야 하는가?

1. 기술적 측면

DU를 쓰는 과제는 일반적으로 Input이 불안정한 경우이다.

사내 Guide 정도로 끝낼 수 있는 과제라면 굳이 DU를 쓸 필요가 없으나,

고객으로부터 문서를 제출받아 특정 정책대상으로 분류하는 경우 등에는 쓸 수 있다.

가령 항공사에서 가족관계증명서, 주민등록등본 등을 통해 고객정보를 DB에 집어넣어야 하는 경우

폰 카메라로 마구잡이로 찍어 올리는 케이스가 많기 때문에 DU를 적용시킬 수 있다.

[실제 케이스이긴 하나 PI가 잘못된 경우라 생각된다. PI가 제대로 됐다면 이미 찍는 시점에서 스캔인식이 안 될 경우

업로드가 되지 않도록 input단에서 제한을 두어야 훨씬 깔끔하다.]

다만 이 경우도 학습을 굉장히 많이 시켜야 90% 가까운 확률에 도달할 수 있다.

특히 잘못 OCR 되는 케이스에 대해선 직접적으로 케이스를 잡아 replace를 시켜줘야 했다고 한다. 

이런 보정까지 생각하면 아직은 기술적으로 학습에 대한 공수가 많이 들어간다고 볼 수 있다.

보통 대안으로 Abbyy의 Flexible Capture가 많이 거론되는데

Flexible Capture는 해상도를 맞추고 그에 대해 대략적인 좌표를 템플릿화 시켜놓는 개념이라

Input이 어느 정도는 정형화 되어야 한다. 내부 가이드 정도로 이를 해결할 수 있다면 Flexible Capture가 더 정답이다.

 

2. 영업적 측면

어떤 판매든 영업적, 정치적 측면이 있지만 DU는 특성이 두드러진다.

어쨌든 Flexible Capture 같은 방식보다 비싸기 때문에 '명분'이 필요하다.

그 명분은 대개 '4차 산업 혁명', 'AI 기술 도입' 같은 키워드이다.

직접적인 이해 관계자를 보면 Uipath 관계자 / 하청업체 수행사 / 고객사 관리자이다.

 - uipath 관계자 : DU 기술이 아직 초기 시점이긴 하지만, 프로덕트로 나온 이상 일단 최대한 많이 팔아야 함.

 - 하청업체 수행사 : 어디든 들어가면 좋음(개발자 입장은 다르겠으나 영업쪽에선 고려되지 않음)

 - 고객사 관리자 혹은 의사결정자 : AI기술 도입 및 ROI 잡아서 실적 쌓기 좋겠다는 생각을 함

다만 고객사 관리자가 드물게 '우리 회사에 실질적인 도움이 돼야 한다'라고 하면서 직접 알아보는 경우

증빙 등을 고객으로부터 받아 보내주는 과제들이 많은지를 체크해볼 필요가 있다.

+ Recent posts