class SelfCancellingWorkflowWithCascade(WorkflowDefinition): def __init__(self, workflow_execution): super(SelfCancellingWorkflowWithCascade, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): self.activities_client.heartbeating_activity(5) yield workflow_time.sleep(1) self.cancel() return_(True)
class SelfCancellingWorkflowWithCascade(WorkflowDefinition): def __init__(self, workflow_execution): super(SelfCancellingWorkflowWithCascade, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): self.activities_client.heartbeating_activity(5) yield workflow_time.sleep(1) self.cancel() return_(True)
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 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 OneActivityHeartbeatWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): yield self.activities_client.heartbeating_activity(1)
class OneActivityHeartbeatWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): yield self.activities_client.heartbeating_activity(1)
class OneActivityHeartbeatCancelBeforeScheduleWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatCancelBeforeScheduleWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): activity_future = self.activities_client.heartbeating_activity(2) yield activity_future.cancel() yield activity_future return_(False)
class OneActivityHeartbeatCancelBeforeScheduleWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatCancelBeforeScheduleWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): activity_future = self.activities_client.heartbeating_activity(2) yield activity_future.cancel() yield activity_future return_(False)
class OneActivityHeartbeatCancelFailureWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatCancelFailureWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): activity_future = self.activities_client.heartbeating_activity(5) yield workflow_time.sleep(2) activity_future._activity_id = '100' # set invalid ID yield activity_future.cancel() return_(False)
class OneActivityHeartbeatCancelFailureWorkflow(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatCancelFailureWorkflow, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): activity_future = self.activities_client.heartbeating_activity(5) yield workflow_time.sleep(2) activity_future._activity_id = '100' # set invalid ID yield activity_future.cancel() return_(False)
class OneActivityHeartbeatIgnoreCancel(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatIgnoreCancel, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): activity_future = self.activities_client.heartbeating_activity(2) yield activity_future.cancel() try: yield activity_future except CancelledError: pass return_(False)
class OneActivityHeartbeatIgnoreCancel(WorkflowDefinition): def __init__(self, workflow_execution): super(OneActivityHeartbeatIgnoreCancel, self).__init__(workflow_execution) self.activities_client = BunchOfActivities() @execute(version='1.1', execution_start_to_close_timeout=60) def execute(self): activity_future = self.activities_client.heartbeating_activity(2) yield activity_future.cancel() try: yield activity_future except CancelledError: pass return_(False)