2013-11-01 4 views
2

우리는 다양한 cron 기반 프로세스에서 Amazon Simple Workflow Service로 이전하고 있습니다. 이것들 중 많은 것들이 특정 시간에 더 이상 실행할 필요가 없으며 필요할 때만 트리거됩니다. 그러나 특정 워크 플로의 경우 워크 플로 (또는 워크 플로 내의 모든 활동)가 병렬로 발생하지 않으며 항상 실행중인 워크 플로가 하나만 있어야합니다. 일단 그것이 끝나면, 그러나 그것은 다시 실행하는 것이 좋습니다.workflowId를 사용하여 워크 플로우의 고유성 보장

워크 플로 고유성에 따라 문제가 발생하거나 문제가 발생합니까? 그렇다면 문제는 무엇이며 어떻게해야 시스템이 특정 워크 플로가 시작되지 않도록 할 수 있는지 설계 할 수 있습니다.

답변

1

SWF에 따라 상태 지속성 및 조정 계층 (고유 한 실행이 거부 됨)으로 고유 한 실행을 위해 workflowId을 사용하는 것은 분명히 나쁜 설계가 아닙니다. 바로 이것이 서비스의 목적입니다.

네, workflowIdactivityId 모두 고유 한 실행을 보장하기에 충분합니다.

워크 플로 내에서의 활동에 대해 activityId은 반드시 고유하지 않아도됩니다. 작업별로 작업을 예약하는 것은 결정자에게 달려 있습니다. serial and parallel workflow executions의 예제는 boto SWF 튜토리얼을 참조하십시오.