def do_try_except(): arg_sum = 0 try: arg_sum += yield BunchOfActivities.sum(arg1, arg2) yield BunchOfActivities.throw() except ActivityTaskFailedError as err: if isinstance(err.cause, ValueError) \ and str(err.cause) == 'Hello-Error': if err.event_id != 13 or err.activity_id != '2': raise RuntimeError("Test Failed") arg_sum += yield BunchOfActivities.sum(arg1, arg2) yield workflow_time.sleep(1) return_(arg_sum)
class BotoCancelRequestWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(TestBotoCancelWorkflows.BotoCancelRequestWorkflow, self).__init__( workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=120) def execute(self): # lots of activities to exercise edge case handling self.activities_client.heartbeating_activity(5) self.activities_client.sum(1, 0) self.activities_client.sum(2, 0) yield self.activities_client.sum(3, 0) yield self.activities_client.sum(4, 0) yield self.activities_client.heartbeating_activity(5) return_(True)
class OneActivityWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self, arg1, arg2): arg_sum = yield self.activities_client.sum(arg1, arg2) return_(arg_sum)
def execute(self, template): (x, y) = yield ManualActivities.perform_task(template=template) arg_sum = yield BunchOfActivities.sum(x, y) return_(arg_sum)
def execute(self, arg1, arg2): with activity_options(task_priority=66): arg_sum = yield BunchOfActivities.sum(arg1, arg2) return_(arg_sum)
def execute(self, repeat, arg1): for i in range(repeat): yield BunchOfActivities.sum(i, arg1) return_(repeat)
def execute(self, arg1, arg2): sum_future = BunchOfActivities.sum(arg1, arg2) mul_future = BunchOfActivities.mul(arg1, arg2) result = yield sum_future, mul_future return_(result)
def execute(self, arg1, arg2): with activity_options(start_to_close_timeout=66): arg_sum = yield BunchOfActivities.sum(arg1, arg2) return_(arg_sum)
def execute(self, arg1, arg2): arg_sum = yield BunchOfActivities.sum(arg1, arg2) arg_mul = yield BunchOfActivities.mul(arg1, arg2) return_((arg_sum, arg_mul))
def execute(self, arg1, arg2): mytime = workflow_time.time() yield BunchOfActivities.sum(arg1, arg2) return_([mytime, workflow_time.time()])
def execute(self, arg1, arg2): arg_sum = yield BunchOfActivities.sum(arg1, arg2) return_(arg_sum)