2013-12-11 3 views
2

AWS SWF에 적합한 비즈니스 프로세스가 있습니다.Timer 모범 사례 이후의 AWS SWF 신호 대 의사 결정?

몇 가지 프로세스에는 대기 기간이 있으며 여기에는 1 주일에서 3 개월까지 걸릴 수 있습니다. (간단한 설명과 완전히 설명되지 않은) 예는 "사용자가 특정 서비스에 가입하는 경우, 4 개월 후에도 가입하면 보상 형태로 보내십시오"라는 라인을 따라있을 수 있습니다.

4 개월 대기 기간 동안 타이머를 설정 한 워크 플로를 시작하는 등록 절차로 모델링하는 중입니다.

구독자가 4 개월 동안 구독을 취소하면 보상을 보내지 않으려는 문제가 있습니다.

나는 이것을 할 수있는 두 가지 방법을 볼 수 있습니다 : "수면"작업 흐름을 중단시킬 때 "취소"신호를 보내거나 "보상 보내기"단계 (즉, 워크 플로가 "깨어 난 후에"). (분명히 "belt & 중괄호"방식으로 두 가지를 모두 수행 할 수도 있음)

여기에 권장되는 모범 사례가 있습니까? 한 번에 활성화되거나 잠들 수있는 여러 가지 비즈니스 프로세스가 수만 가지가 될 가능성이 있습니다.

답변

1

두 가지 방법을 사용합니다. 신호 또는 RequestCancelWorkflowExecution을 통해 작업 과정을 취소하고 "보상 보내기"활동을 ​​호출하기 전에 구독 활동의 유효성을 확인하십시오 (별도의 활동 사용). 후자의 접근법을 구현하는 것이 더 간단하지만 기술적으로 취소 된 뛰어난 워크 플로우를 지불하게됩니다. SWF는 문제없이 수천 개의 열린 워크 플로우를 처리 할 수 ​​있습니다.