Happy Business Starts Here

Shared Memory between Start and on Finish Workflow task

Shared Memory between Start and on Finish Workflow task

Hi, in some cases there is the need to have a shared memory between on start and on finish tasks inside zuora workflow. For example if we do some operation on a set of object interating over them in the start task and we want using on finish to do a specific operations on this data that could be an update or whatever we would like to avoid to query the data again.

 

Thanks in advance.

1 Comment
msonsma
Savvy Scholar

I totally agree. I think that it should be implemented by implementing 'named' payload versions that you address in down-streams tasks. So on each task you should have the option to label resulting payload. In down-stream tasks you than be able to address that payload by something like: Data[<label>] or Data_<label>. By using custom label you can clearly indicate the state. Using things link task name or task id makes it prone to errors when you modify the workflow and or task names.

 

I'm now using custom objects to store the information gathered in a interation flow to pass it to up-stream tasks. The problem is querying a custom objects is a bit tricky as the Custom Object query api document states:

8<--

Limitations

This call has the following limitations:

  • When a record is created, there will be a delay before it is available for search. For example, if you create 5 records and perform a query that these 5 records satisfy the query conditions, there will be a delay between when the 5 records are created, and when all the 5 records can be returned in the query result

8<--

Meaning that if the querying the CO in a  'finished' flow event of an Logic:iterator can be subject to race conditions.... 😞