Organize work that has dependencies on other work.


Quidjibo's workflow commands provide a way to combine work and ensure that it runs in the proper sequence. This allows you to keep each job simple, then combine them to complete the ordered set of work.

Use .Then(step => ...) to compose one or more jobs that should run on a given step. Each step will fire the given commands concurrently.

// compose the workflow
var workflowCommand = new WorkflowCommand(new DoWorkCommand1(1))
                     .Then(step => 
                                 new DoWorkCommand2(step),
                                 new DoWorkCommand3(step)
                     .Then(step =>new DoWorkCommand4(step));

// Publish the workflow
await client.PublishAsync(workflowCommand, cancellationToken);