Expand my Community achievements bar.

SOLVED

Concurrent processing in Fork

Avatar

Level 3
We are hosted on ACC v7 build 8894.
 
We have observed that, the transitions that spawn out of a Fork, are executed in the sequence specified and not concurrently.  This means if a workflow has a Fork spawning 25 transitions, all these 25 transitions will only execute sequentially and not concurrently.  Is there a config parameter that we can toggle to allow this to be processed/run in parallel?
 
-wALF
Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi,

 

Unlike Unica, ACC workflow activities are processed in sequence, top-to-bottom in the fork's list.

You can use advanced js activity or xtk.workflow.PostEvent() to invoke activities in parallel, though you won't be able to join them back together with ootb activities.

What's the use case for parallelism, out of curiosity?

 

Thanks,

-Jon

View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

Hi,

 

Unlike Unica, ACC workflow activities are processed in sequence, top-to-bottom in the fork's list.

You can use advanced js activity or xtk.workflow.PostEvent() to invoke activities in parallel, though you won't be able to join them back together with ootb activities.

What's the use case for parallelism, out of curiosity?

 

Thanks,

-Jon

Avatar

Level 3

I would've thought ACC would also provide that parallel execution just like Unica (it's quite common/expected tbh). There could be multiple use cases, for eg: Fork spawning 3 branches in the order below

a) labelled Heavy (takes roughly 30 mins to complete) and then finally outputs an email delivery and ends.

b) labelled Moderate (takes roughly 15 mins to complete) and then finally outputs another mail delivery (to a different set of customers) and ends.

c) labelled Light (takes 2 mins to complete) and then finally outputs to another email delivery (to a different set of customers) and ends.

 

If having this executed in sequence, although (c) can complete within seconds, it has to wait until (b) is completed, which in turn has to wait for 30 mins for (a) to complete.  Furthermore, if (a) fails for any reason, chances are the entire workflow could go into the Paused state leaving (b) & (c) incomplete/hanging for not so good reasons.

 

-wALF