Pick Activity의 기능에 대하여

activities
대한민국

#1

안녕하세요.

제목과 같이 Pick에 대한 Activity가 어떠한 작업에 활용되는지
Pick Branch와 같이 어떠한 작업을 하는지 알고 싶습니다.

다들 새해 복 많이 받으세요.

감사합니다…


#2

https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/pick-activity

Regards,
Karthik Byggari


#3

@dro
[Pick을 쉽게 설명하자면]
적절한 예시인지 모르겠지만, 이렇게 생각하시면 될 것 같아요.
가장 먼저 도착한 정자가 난자를 수정시키는 것 처럼,
가장 먼저 완료된 트리거 이벤트가 액션을 발동시키는 형태예요.
결론적으로 패럴랠을 스위치문 비슷하게 변형시킨 거예요.
특정 트리거 이벤트가 완료되어 Branch가 한 번 채택이 되면,
다른 브랜드치들이 아무리 95% 로직이 실행이 된 상태여도 발동이 안되고,
먼저 발동된 Branch만 액션부가 실행돼요.

[실제로 많이 쓰는지]
저는 프로젝트에서 Pick을 딱히 써본 적이 없고, 필요한 상황이 많지는 않을 것 같아요.
국내에서는 그런 경우가 거의 없겠지만, 시간이 많이 남는 프로젝트라면…
고정 딜레이 vs. 동적 딜레이(On Element Appear 등과 같은) 액티비티를 경쟁 붙인다던지 등 프로세스 수행 시간 단축 측면의 튜닝에 쓸 수도 있을 것 같고요.

[응용 가능한 상황]
굳이 예를 들자면, 쿼리문을 2~3개를 동시에 돌리는 업무인데,
3개가 동시에 끝나지 않고, 결과가 뜨는 타이밍이 간격이 꽤 있는 경우,
그리고 매일 돌릴 때마다 먼저 끝나는 놈이 매번 바뀌는 경우,
그래서 3개 모두가 끝나기를 기다리기 보다 하나가 먼저 끝나면 빨리 그 결과를 가공하고 나서 나머지 2개를 처리하려는 경우가 있다면 쓰게 될 수도 있을 것 같아요.

새해 복 많이 받으세요^^


#4

@pathLessTaken 좋은 답변 정말 감사합니다. Pick에 대해 많은 도움이 되었습니다…


#5

Thank you @KarthikByggari