Batches and Workflow

Have you thought about creating something like sidekiq’s batches with success/failure events?

In my experience with these types of frameworks, doing things in the background you often need a way to chain things together.

For example:
Building a youtube like site:

  1. User uploads video -> video uploaded method runs in background
  2. Video uploaded method wants to do 3 things in parallel (convert the video, create thumbnails, inspect content)
  3. When all those things finish, you want to send an email.

If you had a feature like sidekiq you could batch this up, do everything in parallel, and have the mail message wait for completion/failure of the previous three messages.

You could model this several ways, one being just an Enqueue(IEnumerable<Expression<Action>> tasks, Expression<Action> success, Expression<Action> failure>) .

Or create interface that the class must inherit from or just a new Batch api.

Yep, this is a great feature that consist of atomic and batch job creation, and continuations. But it is very heavy, and I can’t say when it will be ready. Can you try to perform more investigation about how to implement it?


Any progress on that ? Is it possible for a batch to wait on more than one batch ?