Sequence of workflows


I have potentially a very specific business cade. Which may be can be implemented in Temporal.

The case is as follows:

  1. Workflows are processing business objects
  2. Every business object is a parent of child in business objects sequence. Like. Contract(parent) and Contract addendums(childs)
  3. Processing of this parent-child by workflows must be ordered.
  4. Starting of workflows asynchronous. So no order supported.

What can be a posdsible solution on Temporal if its possible.

Would you clarify the requirements.

  1. Are you planning to have a workflow execution per business object?
  2. What is starting workflows? Is parent workflow is expected to start children or they are started independently?
  3. Would you explain in more detail what does “parent-child” ordering mean?
  4. Any reason the workflows are started independently but by their parents?
  1. One workflow per one busness object which is logically linked with N objects
  2. Workflow which are related to these business objects can start independently, no order guaranty
  3. Try to explain on example. Eg you are development company who is building houses on streets. You can build them in parallel, once you finish. You need to send documentation to some processing center. This center processing one document per house from one street =) Hope my explanation is understandable
  4. Actually as I said above workflows are processing business objects. Our goal to process one business object per sset of logically linked business objects.

I would recommend creating a workflow per resource that needs to be sequenced. Then this workflow would receive requests in the form of signals and execute them one by one. Once processing is done then it is going to reply to the original requester child workflow using a signal as well.

This pattern applies to multiple situations. For example, you can use it to ensure that only one deployment per rack is happening.