Exemple #1
0
        private WorkflowAction RestartWithDefaultValues(WorkflowItemEvent @event)
        {
            var action = RestartWorkflow(true);

            action.Input = WorkflowInput(ChildWorkflow(@event));
            return(action);
        }
Exemple #2
0
 private WorkflowAction RescheduleImmediately(WorkflowItemEvent @event)
 {
     if (LatestEventId > 24000)
     {
         return(RestartWithDefaultValues(@event));
     }
     return(Reschedule(@event));
 }
Exemple #3
0
 private WorkflowAction RescheduleAfterTimeout(WorkflowItemEvent @event)
 {
     // Restart this workflow when total events in history are more than 24000. Amazon SWF allows 25000 events in workflow history.
     if (LatestEventId > 24000)
     {
         return(RestartWithDefaultValues(@event));
     }
     return(Reschedule(@event).After(TimeSpan.FromHours(1)));
 }
Exemple #4
0
        public void Can_filter_out_all_events()
        {
            var allEvents = new WorkflowItemEvent[] { CreateCompletedEvent(), CreateFailedEvent() };

            _workflowItem.Setup(w => w.AllEvents(true)).Returns(allEvents);

            Assert.That(_workflowItem.Object.Events <ActivityCompletedEvent>(true),
                        Is.EqualTo(new [] { allEvents[0] }));
            Assert.That(_workflowItem.Object.Events(typeof(ActivityFailedEvent), true),
                        Is.EqualTo(new[] { allEvents[1] }));
        }
Exemple #5
0
 public ITimerItem GetTimerOf(WorkflowItemEvent workflowItemEvent)
 {
     return(Timer(workflowItemEvent));
 }
Exemple #6
0
 public IActivityItem GetActivityOf(WorkflowItemEvent workflowItemEvent)
 {
     return(Activity(workflowItemEvent));
 }
Exemple #7
0
 public IChildWorkflowItem GetChildWorkflow(WorkflowItemEvent @event)
 {
     return(ChildWorkflow(@event));
 }
Exemple #8
0
 public ILambdaItem GetLambda(WorkflowItemEvent @event)
 {
     return(Lambda(@event));
 }